繁体   English   中英

如何从 JSON 格式获取对象列表

[英]How to get a list of objects from a JSON format

我目前正在使用当前的 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 mapper = 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)); ,这会自动将每个独立的对象放入数组列表中吗?

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

无论如何,如果您将 json 放在 file.json 之类的文件中,请立即执行此操作

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

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

就是这样,现在您可以解析您的 'jsonst' 对象。 关于如何做到这一点的参考

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM