How to use: Choose input format (JSON or XML), paste your data in the left textarea, pick a target language, and click Convert (or just type — auto-converts on input).
Batch merge: Paste multiple JSON objects (newline-separated or array) to automatically merge fields from all samples for richer type inference.
Enum detection: String fields with 2–10 distinct values are auto-detected as enums and shown in the stats panel. JSON Schema output includes enum constraints.
Naming style: Override language defaults with Auto (language convention), camelCase, PascalCase, or snake_case.
TypeScript: Generates interface definitions with proper types, optional markers (?), and array types.
Python: Generates @dataclass classes with full type hints (List, Optional).
Go: Generates struct definitions with json:"key" tags and exported field names.
Java: Generates POJOs with @JsonProperty annotations and getter/setter methods.
C#: Generates classes with [JsonPropertyName] attributes and auto-properties.
Swift: Generates Codable structs with CodingKeys enum when needed.
Kotlin: Generates data class with Jackson @JsonProperty annotations. Fields default to null. Arrays use List<T>. Nullable types use ? suffix.
Rust: Generates struct with #[derive(Debug, Clone, Serialize, Deserialize)] and #[serde(rename)] attributes. Fields in snake_case. Optional uses Option<T>. Arrays use Vec<T>.
Dart: Generates class with manual fromJson()/toJson() methods. Field names in camelCase. Nullable fields use ?. Arrays use List<T>.
JSON Schema: Generates JSON Schema (Draft 7) with $schema, definitions, and $ref references. Includes required arrays and enum constraints for detected enums.
Ruby: Generates Ruby classes with attr_accessor, initialize, self.from_json, and to_json. Field names in snake_case.
C++: Generates C++ struct with nlohmann/jsonto_json() and static from_json() methods. Uses std::shared_ptr, std::vector, field names in snake_case.
XML input: Parsed into JSON-like structure first. Repeated elements become arrays, nested elements become objects, empty elements become null. Attributes inferred as typed fields.
샘플 데이터에서 타입 정의로
클래스, 구조체, 인터페이스는 컴파일 시점 계약입니다. 필드 이름과 타입이죠. 샘플 데이터에서 하나를 생성하는 것은 추론이지 진실이 아닙니다 — 샘플에 없는 필드는 없는 것이 아니라 미지이고, 한 번 2로 관찰된 값은 나중에 2.5가 나와도 정수가 됩니다. 더 풍부한 추론을 위해 여러 샘플을 합치고, 선택성과 열거형은 손으로 검토하세요.