Java,Parse JSON我知道的对象是null

时间:2011-09-21 20:13:23

标签: java json exception null

我有一组JSON对象。要解析这些数组并存储简单的数据类型值,我必须对键名进行假设并相应地存储它们。

我也知道有时键的值将为null。例如{["promotion":null]}我将如何解析这个?

如果我尝试访问值为null的键,我会得到一个JSONException。现在这是有道理的,但即使我做if(myJSObject.getString("promotion")!=null),我检查时仍然会得到JSON异常

如何在我的代码中对null对象进行条件检查,以便我可以避免JSON异常

3 个答案:

答案 0 :(得分:18)

使用JSONObject.optString(String key)optString(String key, String default)

编辑:......或isNull(String key),当然:)

答案 1 :(得分:1)

我认为您需要以不同方式格式化JSON;

获取一系列促销活动

{promotions:[{promotion:null}, {promotion:5000}]}

进行单次促销

{promotion:null}

编辑:根据您使用的json api,可能会进行空检查。 Google的gson库有一个.isJsonNull()方法

答案 2 :(得分:0)

呃......我认为这不是格式正确的JSON字符串。 []表示一个数组,它没有像对象那样的任何键=>值配对。我认为您想要的是{"promotion":null},然后您的代码段可能会起作用。