Add context to classmap when transforming JSON to Java
Brought to you by:
aalmiray
When converting JSON to Java, if a List/Map property is encountered (no type information available) Json-lib will lookup hints in a classMap (if provided). Problem is that the classmap comes with a very broad scope, example
class Foo {
/*should contain Foos*/
private List/*<Foo>*/ children
}
class Bar {
/*should contain Bars*/
private List/*<Bar>*/ children
}
JsonConfig jsonConfig = new Jsonconfig()
jsonConfig.rootClass = Foo
jsonConfig.classMap = ["children":Bar]
Foo foo = JSONObject.fromObject( jsonstr, jsonConfig )
assert foo.children[0] instanceof Foo // BREAKS!!