I have an object that is curently being serialized to:
{
"label" : "label",
"proxyIds" : [ ],
"childIds" : [ 161, 204, 206, 303, 311 ],
"actionIds" : [ 157, 202 ],
}
That proxyIds is an empty (not null) collection in the java object.
How do I configure Jackson to not include that object in the json at all?
I want behaviour similar to “unwrapped” collections in xml/soap where if the collection is empty it is not included. I do not need to distinguish between null and empty collection and want to reduce the size of the json payload.
This may be a long shot but how about using Inclusions and defining NON_DEFAULT as the inclusion property. The docs say:
“Value that indicates that only properties that have values that differ from default settings (meaning values they have when Bean is constructed with its no-arguments constructor) are to be included.”
So if the default value is an empty array it should skip it.
Something like:
http://jackson.codehaus.org/1.1.2/javadoc/org/codehaus/jackson/map/annotate/JsonSerialize.Inclusion.html