JSON Methodology
The JSON data type produced depends on the Java object type being serialized.
- Primitives and primitive objects are converted to JSON primitives.
- Beans and
Maps
are converted to JSON objects. Collections
and arrays are converted to JSON arrays.- Anything else is converted to JSON strings.
Data type conversions:
POJO type | JSON type | Example | Serialized form |
---|---|---|---|
String | String | serialize("foobar"); | 'foobar' |
Number | Number | serialize(123); | 123 |
Boolean | Boolean | serialize(true); | true |
Null | Null | serialize(null); | null |
Beans with properties of any type on this list | Object | serialize(new MyBean()); | {p1:'val1',p2:true} |
Maps with values of any type on this list | Object | serialize(new TreeMap()); | {key1:'val1',key2:true} |
Collections and arrays of any type on this list | Array | serialize(new Object[]{1,"foo",true}); | [1,'foo',true] |
In addition, swaps can be used to convert non-serializable POJOs into serializable forms, such as converting Calendar
object to ISO8601 strings, or byte[]
arrays to Base-64 encoded strings.