解析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,我的解析器会出现异常。我该怎么做才能解决它?
希望我已经解释过了自己......
答案 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以获取更多信息。