使用javas JSONArray解析JSON数据时出错

时间:2015-08-01 20:33:00

标签: java php android

我的main.java是:

    JSONArray jsonarray = new JSONArray(response);
       for(int i=0; i < jsonarray.length(); i++) {
           JSONObject jsonobject = jsonarray.getJSONObject(i);
           String description = jsonobject.getString("description");
           Log.i("description", description);
       }

我对php的回复是:

[{"description":"Casa Lis"},{"value":"69800 \u20ac"},{"color":"#FFFF00"},{"description":"Calle de Van Dick"},{"value":"47250 \u20ac"},{"color":"#FFFF00"}]

我的日志打印是:

08-01 22:27:55.638: I/description(20896): Casa Lis
08-01 22:27:55.638: W/System.err(20359): org.json.JSONException: No value for description

1 个答案:

答案 0 :(得分:0)

Android Developers中,您可以看到如果密钥“说明”不存在,getString会抛出JSONException,这可能是您获得的“值”错误“和”颜色“映射。

在获取之前,您需要检查JSONObject是否有“说明”键:

if (jsonobject.has("description")) {
    String description = jsonobject.getString("description");
    Log.i("description", description);
}