Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to get a real null value instead of a JSONObject.NULL value when parsing JSON in grails

I'm trying to parse some JSON in Grails using the grails.converters.JSON library. I have a field which will contain either a string, or a null value. When I parse the JSON and get the field, the null values come back as a JSONObject.NULL type. This is not good when checking != null as JSONObject.NULL is evaluated as non-null (not good for null checks)

def obj = JSON.parse('{"date1":null,"date2":"2011-06-26T05:00:00Z"}')
def date1 = obj.date1
if (date1)
     parse(date1)   // parse error occurs here because date1 evaluates true in the if because it is JSONObject.NULL

Is there an easy way to get the parse to parse a real null value so that I don't have to check if the object is a JSONObject.NULL.

I tried the suggestion here to use .toString(), but it ended up returning the string value 'null' instead of actual null for a JSONObject.NULL value.

like image 316
Scott Avatar asked Oct 22 '11 16:10

Scott


1 Answers

You may find this more useful and natural

    JSONObject.NULL.equals(jsonObj.get("key_name"))
like image 77
deepSymmetry Avatar answered Oct 12 '22 01:10

deepSymmetry