Hello,
I hope my question will not be another "why doesn't Jackson find polymorphic type for my Map values (or List or Set)" and I hope I did my best to check for any question/answer :).
I have a bean with an any field:
@JsonAnyGetter
@JsonAnySetter
protected Map<String, Object> properties = new HashMap<>();
When initializing the map with:
properties.put("foo", new FooBean());
properties.put("foos", List.of(new FooBean()));
properties.put("long", 123);
properties.put("longs", List.of(123));
properties.put("longss", List.of(List.of(123)));
I want to produce:
{
"foo": {
"@class": "org.FooBean", "foo": "bar"
},
"foos": [
{
"@class": "org.FooBean", "foo": "bar"
}
],
"long": 123,
"longs": [123, 567],
"longss": [[123], 567]
}
ie. a type for bean but not for primitive or collection/map.
Is this use case achievable by using jackson? To quote that
post if there'd be an option that says, if there is a type attribute at the beginning, create this type, rather than a natural one.
Thanks for your help
Nicolas