-1

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

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

这是从网络服务器上的 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();
} 
4

2 回答 2

4

给定 String 不是 Json 数组。那是 Json 对象。所以用 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();
        }
于 2013-08-23T09:08:38.437 回答
3

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

JSONObject jArray = new JSONObject(result);

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

String car_value = jArray.getString("value");
于 2013-08-23T09:08:50.947 回答