I have an array of JSON objects. To parse these arrays and store the simply data type values, I have to make assumptions of the key names and store them accordingly.
I also know that sometimes the key's values will be null. example {["promotion":null]}
how would I parse this?
If I try to access a key whose value is null, I get a JSONException. Now this makes sense, but even if I do if(myJSObject.getString("promotion")!=null)
then I will still get JSON exception when it checks
how would I do a conditional check in my code for null objects so that I can avoid the JSON exception
Use JSONObject.optString(String key)
or optString(String key, String default)
.
Edit: ... or isNull(String key)
, of course :)
I think you'll need to format the JSON differently;
for an array of promotions
{promotions:[{promotion:null}, {promotion:5000}]}
for a single promotion
{promotion:null}
edit: depending on which json api you're using, there might be a null check. Google's gson library has an .isJsonNull()
method
Uh...I don't think that is a properly formatted JSON string. [] indicates an array, which doesn't have any kind of key=>value pairing like an object does. What I think you want would be {"promotion":null}
, which then your code snippet likely would work.