我正在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();
}
答案 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");