【发布时间】:2014-12-31 16:38:00
【问题描述】:
这是我创建的方法,一切都很好但我无法将他的父亲与HashMap中的孩子联系起来hm。我希望有人帮助我。谢谢。
public void findChild(JsonArray jarray) {
ArrayList<String> listChild = new ArrayList<String>();
HashMap<String, List<String>> hm = new HashMap<String, List<String>>();
String str = null;
JsonElement element = null;
JsonElement e;
for (int j = 0; j < jarray.size(); j++) {
e = jarray.get(j).getAsJsonObject().get("name");
JsonObject jsonObj = jarray.get(j).getAsJsonObject();
JsonArray jsonArray = jsonObj.getAsJsonArray("child");
element = jsonObj.get("name");
if (jsonArray.size() > 0) {
str = e.getAsString();
findAllChild(jsonArray);
}
listChild.add(element.getAsString());
}
hm.put(str, listChild);
System.err.println("Hash: " + hm);
}
这是我的 json 文件:
"name": "one",
"id":"YO",
"child": [
{
"name": "one",
"child": [
{
"id": "0001",
"name": "oneone",
"photo": "primo.jpg",
"child": [
{
"id": "1",
"name": "oneoneone",
"child": [
{
"id": "1",
"name": "oneoneoneone",
"child": [
{
"id": "1",
"name": "oneoneoneoneone"
},
{
"id": "2",
"name": "oneoneoneonetwo"
},
{
"id": "3",
"name": "oneoneoneonethree"
}
]
},
{
"id": "2",
"name": "oneoneonetwo"
},
{
"id": "3",
"name": "oneoneonethree"
}
]
},
{
"id": "2",
"name": "oneonetwo"
}
]
},
{
"id": "0002",
"name": "onetwo",
"photo": "secondo.jpg"
},
{
"id": "onethree",
"name": "terzo",
"photo": "terzo.jpg"
}
]
},
{
"name": "two",
"child": [
{
"id": "0004",
"name": "twoone",
"photo": "one.jpg"
},
{
"id": "0005",
"name": "twotwo",
"photo": "two.jpg",
"child": [
{
"id": "1",
"name": "twotwoone",
"child": [
{
"id": "1",
"name": "twotwooneone"
},
{
"id": "2",
"name": "twotwoonetwo"
},
{
"id": "3",
"name": "twotwoonethree"
}
]
},
{
"id": "2",
"name": "twotwotwo"
}
]
},
{
"id": "0006",
"name": "twothree",
"photo": "three.jpg"
}
]
}
]
}
这是我的回应:
Hash: {null=[oneoneoneoneone, oneoneoneonetwo, oneoneoneonethree]}
Hash: {oneoneoneone=[oneoneoneone, oneoneonetwo, oneoneonethree]}
Hash: {oneoneone=[oneoneone, oneonetwo]}
Hash: {oneone=[oneone, onetwo, terzo]}
Hash: {null=[twotwooneone, twotwoonetwo, twotwoonethree]}
Hash: {twotwoone=[twotwoone, twotwotwo]}
Hash: {twotwo=[twoone, twotwo, twothree]}
Hash: {two=[one, two]}
【问题讨论】:
标签: java json hashmap gson jsonobject