2

I'm having lots of problems when parsing a JSon and one of it's values has null value.

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

For example if "category_id" equals null I get an exception on my parser. What can I do to solve it?

Hope I've explained myself..

4

2 回答 2

3

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

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

JSONObject jsonObject = new JSONObject(str);
if(jsonObject.has("category_id")&&!jsonObject.isNull("category_id")){
   String s = jsonObject.getString("category_id");      
}
于 2012-11-05T20:43:53.030 回答
1

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

于 2012-11-05T20:11:20.927 回答