如何从localhost解析JSON?

时间:2013-11-15 09:36:25

标签: android json localhost android-logcat

我正在尝试解析来自我的本地主机的数据,即{{“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");,但问题仍然是一样的。

我该怎么办?!

3 个答案:

答案 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<>();

看看这个: How can I parse JSON with C#?

答案 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