Konsument JSON obiektów polimorficznych
Analizuję JSON i mam problem z jedną strukturą, która może mieć jedną z trzech form. W moim przypadku może to być zero-wymiarowe, jednowymiarowe lub dwuwymiarowe. Czy w jakiś sposób mogę sprawdzić JSON w locie, aby określić, który to jest? A może i tak je spożyjesz, a potem zrozumiesz, co to jest.
Struktury wyglądają tak i mogą być osadzone w innych strukturach.
"details":{
"Product":"A zero-dimensional Product"
},
"details":{
"Product":"A one-dimensional Product",
"Dimensions": [ "Size" ],
"Labels": [ "XS", "S", "M", "L" ]
},
"details":{
"Product":"A two-dimensional Product",
"Dimensions": [ "Size", "Fit" ],
"Labels": [[ "XS", "S", "M", "L" ],[ "26", "28", "30", "32" ]]
}
To, czego szukam, to rodzajowa klasa, z którą Jackson zawsze będzie się zgadzał.
Coś w rodzaju tłumaczenia:
{
"SomeField": "SomeValue",
...
"details":{
...
}
}
W:
class MyClass {
String SomeField;
...
AClass details;
}
Czy jest klasa?AClass
Mogę zdefiniować, że może to być uniwersalny odbiorca dla dowolnej struktury lub tablicy JSON?