我目前正在开发一个Android应用程序,该应用程序从名为CloudMine的网站获取JSON响应。他们的回答通常采用以下格式:
{
"success": {
"key1": { "field": "value1" },
"key2": { "field1": "value1", "field2": "value2" }
},
"errors": {
"key3": { "code": 404, "message": "Not Found" }
}
}
我目前想要遍历“success”对象中的所有对象,这样我就可以访问每个对象中的不同字段。但是,我只学会了如何使用gson API中的JsonParser。我得到的最接近的是在成功对象上使用names()方法,但是Eclipse对我大吼大叫,因为这个类型的方法是未定义的。
我感谢所有人都能给予我的帮助。
谢谢!
答案 0 :(得分:2)
这对我有用:
JsonObject myJsonObject = new Gson().fromJson(myJsonString, JsonObject.class);
for (Map.Entry<String, JsonElement> entry : myJsonObject.entrySet()) {
JsonObject entryObj = entry.getValue().getAsJsonObject();
}
基于对此问题的接受答案,虽然我已根据我的用例对其进行了更改:
答案 1 :(得分:-1)
这是一个非常简单的代码,可以在“成功”中迭代对象:
JSONObject json = new JSONObject(responseString);
JSONObject success = json.getJSONObject("success");
JSONObject one;
for(Iterator it=success.keys(); it.hasNext(); ) {
one = success.getJSONObject((String)it.next());
//deal with the next object inside your 'success'
}