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

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

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

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

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

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

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

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

一系列的促销活动

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

一次促销

 {promotion:null} 

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

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