【发布时间】: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是什么?它来自哪里?