无法转换为JSON

时间:2013-08-23 09:06:07

标签: java android json

我正在Android应用程序中阅读一些JSON,但它无法识别以下JSON

{"value":"1000","make":"Ford","model":"Focus","desc":"1.9 Zetec","Fuel":"petrol"}

这是从Web服务器上的PHP文件生成的输出。这个JSON有问题还是以下代码存在问题?

try {
  JSONArray jArray = new JSONArray(result);
  JSONObject json_data=null;
  for(int i=0;i<jArray.length();i++){
    json_data = jArray.getJSONObject(i);
    String car_value = json_data.getString("value");
    Log.e("JSON",car_value);
  }
} catch (JSONException  e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
} 

2 个答案:

答案 0 :(得分:4)

给定String不是Json数组。那是Json Object。所以用Json对象解析。

如下所示

try {
            JSONObject jObject = new JSONObject(result);
            String value = jObject.getString("value");
            String make = jObject.getString("make");
            // TODO and so on
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

答案 1 :(得分:3)

您收到的json数据不是JSONArray。它是一个JSONObject。所以,你应该收到它:

JSONObject jArray = new JSONObject(result);

然后,如果你想要价值,你可以得到它像

String car_value = jArray.getString("value");