【发布时间】:2018-05-18 05:56:53
【问题描述】:
{
"Object1": {
"description": "An object",
"data": "more data"
},
"Object2": {
"description": "An object",
"data": "more data"
}
}
我将如何使用 GSON 迭代此 JSON 对象中的元素以轻松地逐个解析每个元素?
【问题讨论】:
{
"Object1": {
"description": "An object",
"data": "more data"
},
"Object2": {
"description": "An object",
"data": "more data"
}
}
我将如何使用 GSON 迭代此 JSON 对象中的元素以轻松地逐个解析每个元素?
【问题讨论】:
是的,但是 PrabhakarP 是对的,JSON 中的关联数组是对象。所以在你的情况下,
{
"Object1": {
"description": "An object",
"data": "more data"
}
}
您将拥有一个包含每个数组元素作为属性的元对象,这实际上没有意义。你应该以不同的方式解析它。
但如果你仍然需要,在 GSON 中,然后尝试,
JsonArray body = gson.fromJson(yourString, JsonArray.class);
JSONObject metaObj = new JSONObject();
for (JsonElement currEle : paymentsArray) {
JSONObject currObj = currEle.getAsJsonObject();
String nameVal = currObj.get("name");
currObj.remove("name");
metaObj.addProperty(nameVal, currObj);
}
【讨论】:
我建议你为数组中的每个对象添加一个属性并使用它
【讨论】:
我查看了手册页,发现我可以遍历对象中的成员集。
JsonObject obj = gson.fromJson(jsonFile, JsonObject.class);
for(Map.Entry<String, JsonElement> element : obj.entrySet()) {
Object obj = gson.fromJson(element.getValue(), Object.class);
// do stuff with the object
}
【讨论】: