Что делает этот генератор JSON для типов
Написание модельных классов вручную для большого ответа API медленно и подвержено ошибкам. Вставьте образец JSON, и этот инструмент выводит полную модель типа и печатает ее как Go structs с тегами json, Rust structs с производными serde, схемами Zod, Pydantic моделями, классами данных Kotlin, записями Java, классами C #, структурами Swift Codable или интерфейсами TypeScript. Вложенные объекты становятся собственными именными типами, массивы объектов объединяются так, что каждое поле, увиденное в любом элементе, захватывается, и вывод выполняется в веб-работнике, так что даже многомегабайтные образцы не замораживают страницу.
Как пользоваться
- Вставьте JSON в вход или загрузите образец.
- Укажите имя типа root, например
UserилиOrderResponse. - Выберите вкладку целевого языка. Выход регенерируется мгновенно.
- Копируйте код в свой проект и корректируйте имена или типы, где ваши знания домена побеждают вывод.
Как работает вывод
- Необязательные поля: если ключ отсутствует в некоторых элементах массива, он отмечен как необязательный (
?в TS,Option<T>в Rust,omitemptyв Go,= Noneв Pydantic). - Обнуждаемые поля: Значение
nullделает поле нулевым на целевом языке. - Числа: Целые числа и плавающие числа отслеживаются отдельно, так что
42становитсяint64/i64/Longв то время как4.2становится типом плавающего числа. - Смешанные типы: когда одно и то же поле содержит разные типы, языки с союзами (TypeScript, Zod, Pydantic) получают союз, а остальные возвращаются к общему типу значения JSON.
- Название: Ключи, такие как
user_idилиcreated-at, конвертируются в идиоматические имена полей на языке, при этом исходный ключ сохраняется в тегах или аннотациях (json:"user_id",#[serde(rename)],@SerialName,CodingKeys).
Советы
- Дайте ему репрезентативный образец. Один объект с пустым массивом ничего не говорит инструменту об элементах массива.
- Объедините несколько ответов в один массив верхнего уровня для надежного захвата дополнительных полей.
- Выход Zod экспортирует как схему, так и выведенный тип, так что вы получаете проверку в режиме выполнения и статическое вводы вместе.