how to get a real null value instead of a JSONObject.NULL value when parsing JSON in grails
Have a look at: http://grails.1312388.n4.nabble.com/The-groovy-truth-of-JSONObject-Null-td3661040.html
Ian Roberts mentions a nice trick to make a null check possible:
JSONObject.NULL.metaClass.asBoolean = {-> false}
I think I found a better solution, which consists in overriding the toString()
method implementation of the JSONObject.NULL
inner class by copying the JSONObject.java
file into your Grails src/java
project and then changing the implementation to this:
/** * Get the "" string value. * @return An empty String "". */ @Override public String toString() { return ""; }
Once you restart with this new class in your classpath, the classloader will use your JSONObject
class instead of the one packaged in the Grails dependencies.
Make sure you keep it in the same package as the original.
For more details you can go here: https://github.com/grails/grails-core/issues/9129
Hope it helps :-)