hi!

Trying to work on the few TCK tests which still fail in Johnzon.

Does anyone understand why the following deserializer is expecting to see a 
START_OBJECT of the actual items instead of the actual current JsonValue event 
which is a START_ARRAY?

https://github.com/jakartaee/jsonb-api/blob/master/tck/src/main/java/ee/jakarta/tck/json/bind/cdi/customizedmapping/serializers/model/serializer/AnimalListDeserializerInjected.java#L44


The value to parse is 
{ "animals" : [ { "type" : "cat", "cuddly" : true, "age" : 5, "furry" : true, 
"name" : "Garfield" , "weight" : 10.5}, { "type" : "dog", "barking" : true, 
"age" : 3, "furry" : false, "name" : "Milo", "weight" : 5.5}, { "type" : 
"animal", "age" : 6, "furry" : false, "name" : "Tweety", "weight" : 0.5} ] }

This is from the TCK test 
ee.jakarta.tck.json.bind.cdi.customizedmapping.serializers.SerializersCustomizationCDITest

My problem is that a List<X> or X[] in Java can be represented as json object 
which is more complicated, e.g.

{
 "animals": 
        {
        "size":3,
        "values": [ { "type" : "cat", "cuddly" : true, "age" : 5, "furry" : 
true, "name" : "Garfield" , "weight" : 10.5}, { "type" : "dog", "barking" : 
true, "age" : 3, "furry" : false, "name" : "Milo", "weight" : 5.5}, { "type" : 
"animal", "age" : 6, "furry" : false, "name" : "Tweety", "weight" : 0.5} ]
        }
}

I don't see how the approach implemented by Yasson will allow to deserialise 
such a JSON string.

Or do I miss something?

LieGrue,
strub

Reply via email to