Shape-to-type inference
Each JSON object supplies candidate members. Strings, booleans, numbers, objects, and arrays provide evidence for Java declarations, but JSON itself does not prescribe Java primitive, wrapper, collection, or numeric classes. Nested objects introduce another object shape, and arrays introduce an element shape. Because inference starts from concrete values, a property seen only as null cannot establish a specific Java value type.