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?

questionAnswers(2)

yourAnswerToTheQuestion