数据转类

将 JSON 或 XML 数据转换为 TypeScript、Python、Go、Java、C#、Swift、Kotlin、Rust、Dart、JSON Schema、Ruby、C++ 等类/结构体/接口定义。另请参阅:CSS 工具 | HTML 工具 | XML 工具 | YAML 工具 | 全部 JSON 工具 | JSON Schema 校验器 | JSON 查看/编辑器 | JSONPath 求值器 | JSON 转 SQL / TOML 转换器 | JSON 格式化。
所有处理均在浏览器本地完成——数据绝不上传到任何服务器。
输入:
语言:
命名风格:
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/json to_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 也会被推断为整数。合并多个样例可获得更丰富的推断,随后请手动复核可选性与枚举。