【问题标题】:How to get a list of objects from a JSON format如何从 JSON 格式中获取对象列表
【发布时间】:2017-12-24 18:18:36
【问题描述】:

我目前正在使用我当前的 JSON 格式创建 java 对象,看起来像这样:

{ 
    "_id" : "45", 
    "longitude" : "-0.203247", 
    "latitude" : "51.497843", 
    "timeDateOfUsage" : [
        "24/12/17 13:57:55", 
        "1", 
        "24/12/17 14:03:08", 
        "0", 
        "24/12/17 14:03:28", 
        "1", 
        "24/12/17 14:03:36", 
        "0", 
        "24/12/17 14:21:31", "0", 
        "24/12/17 14:21:40", 
        "1"
    ] 
}

我现在正在尝试将对象列表从 JSON 转换为 java 对象。这就是我要转换成java的东西:

{ 
    "_id" : "3", 
    "longitude" : "3222", 
    "latitude" : "55", 
    "timeDateOfUsage" : [ 
        "02/11/17 13:30:35", 
        "1", 
        "02/11/17 13:30:45", 
        "1", 
        "02/11/17 13:30:51", 
        "0"
    ] 
}
{ 
    "_id" : "45", 
    "longitude" : "-0.203247", 
    "latitude" : "51.497843", 
    "timeDateOfUsage" : [
        "24/12/17 13:57:55", 
        "1", 
        "24/12/17 14:03:08", 
        "0", 
        "24/12/17 14:03:28", 
        "1", 
        "24/12/17 14:03:36", 
        "0", 
        "24/12/17 14:21:31", 
        "0", 
        "24/12/17 14:21:40", 
        "1"
    ] 
}

但我似乎只得到第一个对象,而不是其余的(在这种情况下,总共有 2 个对象)。我正在使用杰克逊图书馆。

ObjectMapper 映射器 = new ObjectMapper();

listofResponses.add( mapper.readValue(response,SensorResponse.class));
String output = "";
for(SensorResponse s : listofResponses){
    output = output + s.toString();
}
Log.d("dbserver", output);

我不确定为什么我无法处理其余的对象。还有我做listofResponses.add( mapper.readValue(response,SensorResponse.class));,会自动将每个单独的对象放入数组列表中吗?

【问题讨论】:

  • 使用 Gson 。简单更好
  • 您拥有的不是一份有效的 JSON 文档。它是两个 JSON 文档。不确定它来自哪里,但您应该更改设计以能够读取单个 JSON 文档,或者将这两个对象存储在单个 JSON 数组中。 response 是什么?它来自哪里?

标签: java json


【解决方案1】:

首先将你的字符串保存到一个文件中,如果这对你有用的话。否则使用不同的流媒体方法

无论如何,如果你的 json 文件在 file.json 之类的文件中,现在就这样做

JsonReader reader = Json.createReader(new FileReader("file.txt")); JsonStructure jsonst = reader.read();

如果您不想使用文件,当然可以将 FileReader 替换为其他阅读器

就是这样,现在你可以解析你的 'jsonst' 对象了。 Ses this ref 关于如何做到这一点

https://docs.oracle.com/middleware/1221/wls/WLPRG/java-api-for-json-proc.htm#WLPRG1062

【讨论】:

    猜你喜欢
    • 2018-11-23
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2021-06-21
    • 2019-07-03
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多