JSON-Konsument polymorpher Objekte

Ich analysiere JSON und habe Schwierigkeiten mit einer Struktur, die eine von drei Formen haben kann. In meinem Fall könnte es nulldimensional, eindimensional oder zweidimensional sein. Gibt es eine Möglichkeit, wie ich den JSON-Code im laufenden Betrieb überprüfen kann, um festzustellen, um welchen es sich handelt? Oder konsumiere es trotzdem und finde heraus, was es danach ist.

Die Strukturen sehen so aus und können in andere Strukturen eingebettet werden.

"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" ]]
}

Was ich vielleicht suche, ist eine generische Klasse, mit der Jackson immer mithalten wird.

So etwas wie Übersetzen:

{
"SomeField": "SomeValue",
...
 "details":{
  ...
 }
}

In:

class MyClass {
  String SomeField;
  ...
  AClass details;
}

Gibt es eine KlasseAClass Kann ich definieren, dass ein universeller Empfänger für jede JSON-Struktur oder Array sein könnte?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage