我不知道为什么我在解析这个简单的json时遇到这么多问题:
{"status":0,"result":{"success":false,"message":"Error"}}
我如何获得成功和消息字符串?
try {
river = response.getJSONArray("result");
// looping through All Contacts
for(int i = 0; i < river.length(); i++){
JSONObject c = river.getJSONObject(i);
if (c.has("message")) {
message = c.getString("message");
System.out.println("object_guid:"+message); }
if (c.has("success")) {
success = c.getString("success");
System.out.println("subtype:"+success); }
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:2)
替换
river = response.getJSONArray("result");
与
river = response.getJSONObject("result");
result
代码是JSONObject
而不是JSONArray
答案 1 :(得分:2)
你的result
不是jsonarray,它是一个对象。
{"status":0,"result":{"success":false,"message":"Error"}}
JSONObject river = response.getJSONObject("result");
String success = river.getString("success");
String message = river.getString("message");
答案 2 :(得分:0)
在您的回复中,您没有获得JSONArray
。它仅包含JSONObjects
。因此,您需要获取JSONObject
而不是JSONArray
。
试试如下:
river = response.getJSONObject("result");
if (river.has("message")) {
message = river.getString("message");
System.out.println("object_guid:"+message); }
if (river.has("success")) {
success = river.getString("success");
System.out.println("subtype:"+success); }
}