我有一个JSON响应,如下所示:
{
"1":{
"id":"1",
"user_id":"1",
"children":[
{
"id":"2",
"user_id":"2",
"children":[
{
"id":"3",
"user_id":"3",
"children":[
{
"id":"4",
"user_id":"2",
"children":[
]
}
]
},
{
"id":"5",
"user_id":"1",
"children":[
]
}
]
},
{
"id":"6",
"user_id":"2",
"children":[
]
}
]
},
"7":{
"id":"7",
"user_id":"2",
...
}
}
如您所见,我有嵌套数组(children
)。我需要遍历这个JSON响应,遍历每个嵌套数组,直到它遇到一个空的children
数组,然后退一步继续其余的项目。
我为响应创建了一个模型类,所以我当前的代码如下所示:
for (Post post : postResponse.getData()) {
//
}
这显然只会遍历顶级项目(在我的情况下为1
和7
)。
我该怎么做?
答案 0 :(得分:1)
你需要一个递归函数。
function iterateTree(object) {
if (!object) { //recursion stop criteria || you need to implement what your stop criteria is
return;
}
//doSomthingWithObject();
iterateTree(object.children);
}
我确定你弄明白了如何在java中使用它。