Does it use Jackson or Gson annotations?
The generated classes are plain POJOs that work with both Jackson (the most common) and Gson out of the box because field names match the JSON keys via getter/setter convention. For JSON keys that are not valid Java identifiers, add @JsonProperty("original_key") (Jackson) or @SerializedName("original_key") (Gson) on the field — the generator preserves the JSON key in a comment so it is easy to copy.
Can I use Lombok @Data?
Yes. Replace the generated getters and setters with @Data above the class declaration. Lombok then generates them at compile time. For immutable models use @Value, and add @Builder for fluent construction. The generator emits the full boilerplate so the output runs without any annotation-processing setup.
Why are fields generated as int instead of Integer?
Primitive int is used when the JSON sample has a non-null integer. For nullable integer fields use the boxed Integer type — Jackson and Gson both deserialize JSON null into a null Integer, which would crash an int field.
How are JSON arrays mapped?
Arrays of objects become List<ClassName> using java.util.List. Arrays of strings become List<String>; arrays of mixed primitives become List<Object>. Make sure your build path imports java.util.List or replace with ArrayList<T> on declaration.
How are nested JSON objects modelled?
Each nested object becomes its own top-level public class so you can split them across files. The parent class references the nested type by its PascalCase name. The class names are derived from the JSON key (camelCase to PascalCase).
Is the JSON uploaded to your servers?
No. Conversion runs entirely in your browser via JavaScript. Open DevTools → Network and click Convert — no requests are made. Pasting JSON containing tokens or PII never leaves your machine.
How do I deserialize the generated classes with Jackson?
ObjectMapper mapper = new ObjectMapper(); Root root = mapper.readValue(jsonString, Root.class); — the generated POJO has a no-arg constructor (default) and public setters, which is everything Jackson requires.
How are JSON keys with dashes or reserved words handled?
A JSON key like "user-id" is converted to userId. Reserved Java words such as "class" or "package" are suffixed (classField). Annotate with @JsonProperty("user-id") to preserve the wire-format key during serialization.