我正在尝试解析来自我的本地主机的数据,即{{“data”:{“statues”:“2”}}}。
这是我的JSON代码:
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","statues: "+json_data.getString("statues"));
//Get an output to the screen
returnString = json_data.getString("statues");
tv.setText(returnString);
一切听起来都不错,但在我的log-cat中,会发生以下错误:
11-15 09:07:27.403: E/log_tag(3037): Error in http connection!!org.json.JSONException: Value [{"data":{"statues":"2"}}] of type org.json.JSONArray cannot be converted to JSONObject
我说这听起来不错,因为它捕获了雕像,但没有捕获它的值(即2)。
我也试过json_data.getInt("statues");
,但问题仍然是一样的。
我该怎么办?!
答案 0 :(得分:2)
试试这个..
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
JSONObject c = json_data.getJSONObject("data");
Log.i("log_tag","statues: "+c.getString("statues"));
//Get an output to the screen
returnString = c.getString("statues");
tv.setText(returnString);
}
答案 1 :(得分:0)
尝试使用JsonConvert.DeserializeObject<>()
;
答案 2 :(得分:0)
你必须得到JSONObject
这样的
for(int i=0;i<jArray.length();i++){
JSONObject c = jArray.getJSONObject(i);
// Storing each json item in variable
String id = c.getString("identifier1");
String name = c.getString("identifier2");
}
有关详细信息,请使用此link