【发布时间】:2016-10-15 06:41:35
【问题描述】:
我有以下字符串,它以列表的形式从数据库返回,我的假设是,列表包含 3 个项目。 但它只显示“1”作为大小。因此,它将所有活动项目作为一个元素返回。
注意:当我尝试获取列表的第一个索引 (list.get(0)) 时,它只返回一个“活动”而不是全部三个(作为单个项目)。我不知道是什么 发生在列表中。
我的问题:如何将以下包含 1 个项目(具有 3 个活动项目)的字符串列表转换为应将列表大小视为 3(3 个活动)的列表。
[ { "activity" : { "id" : "a_3" , "kind" : "Infomation" , "userId" : 100 , "accountId" : 0 , "timestamp" : 1476369009366 , "result" : "normal" }} ,
{ "activity" : { "id" : "a_18" , "kind" : "Infomation" , "userId" : 100 , "accountId" : 0 ,"timestamp" : 1476419696003 , "result" : "normal" }} ,
{ "activity" : { "id" : "a_4" , "kind" : "Infomation" , "userId" : 100, "accountId" : 0 , ""timestamp" : 1476435910335 , "result" : "normal" }}]
以上信息来自DB:
Iterable<DBObject> results =null;
List<String> retList = new ArrayList<>();
try {
results= collection.aggregate(pipeline).results();
} catch (Exception e) {
}
if(results!=null){
Iterator<DBObject> iterator = results.iterator();
while (iterator.hasNext()) {
String input = iterator.next().get("actLogList").toString();
retList.add(input.substring(input.indexOf("[") + 1, input.lastIndexOf("]")));
}
}
return retList;
【问题讨论】:
-
这是 json 你需要在你的模型类中解析列表
-
您的列表包含 3 个项目
activity,每个项目还包含您的单个item object -
@PavneetSingh,是的,我的列表包含 4 个项目,但显示大小为 1。
-
我不知道你是如何解析它的,或者你可能没有解析它,但你必须(使用已经给出的答案作为开头)
-
我已经使用了一些其他的库来解析它,但是 jsonArray 的大小只有一个而不是 3