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

时间:2017-12-24 18:18:37

标签: java json

我目前使用当前的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));,是否会自动将每个个体对象放入arraylist?

1 个答案:

答案 0 :(得分:-1)

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

无论如何,如果你把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