带有null值的JSonException

时间:2012-11-05 20:00:42

标签: android json exception

解析JSon时遇到很多问题,其中一个值的值为null。

{
"available_from" : "2012-11-05T00:00:00Z",
"available_to" : "2012-11-30T00:00:00Z",
"category_id" : 2,
"created_at" : "2012-11-05T14:53:39Z",
...
}

例如,如果“category_id”等于null,我的解析器会出现异常。我该怎么做才能解决它?

希望我已经解释过了自己......

2 个答案:

答案 0 :(得分:2)

在尝试从JSONObject获取值之前,您需要检查它是否具有密钥以及值是否为“null”。

每次尝试访问某个密钥时都添加此If语句:

JSONObject jsonObject = new JSONObject(str);
if(jsonObject.has("category_id")&&!jsonObject.isNull("category_id")){
   String s = jsonObject.getString("category_id");      
}

答案 1 :(得分:1)

考虑使用GSON?它确实简化了JSON解析。此外,如果您使用常规jsonobjects,则值可能不为null。请阅读documentation以获取更多信息。