JSON consumidor de objetos polimórficos.

Estoy analizando JSON y estoy teniendo dificultades con una estructura que puede tener una de tres formas. En mi caso, podría ser de dimensión cero, unidimensional o bidimensional. ¿Hay alguna manera de que pueda inspeccionar el JSON sobre la marcha para determinar cuál es? O quizás consumirlo de todos modos y resolver lo que es después.

Las estructuras se ven así y se pueden incrustar en otras estructuras.

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

Lo que puedo estar buscando es una clase genérica con la que Jackson siempre coincidirá.

Algo así como traducir:

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

Dentro:

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

Hay una claseAClass ¿Puedo definir que podría ser un destinatario universal para cualquier estructura o matriz JSON?

Respuestas a la pregunta(2)

Su respuesta a la pregunta