Конвертер JSON у код
Перетворіть зразок JSON на інтерфейси TypeScript, структури Go, структури serde Rust, схему Zod або JSON Schema.
Конвертер JSON у код — Вставте репрезентативний зразок JSON і миттєво отримайте строго типізований код цільовою мовою: інтерфейси TypeScript, структури Go з тегами json, структури serde Rust, схему Zod або JSON Schema draft-07. Типи виводяться безпосередньо з даних — вкладені обʼєкти стають іменованими типами, масиви визначають тип свого елемента, а поля, яких немає в кожному елементі масиву, позначаються як необовʼязкові. Усе працює у вашому браузері, тож ваш JSON ніколи не завантажується на сервер.
Що таке Конвертер JSON у код?
JSON у код — це безкоштовний генератор типів, що працює цілком у браузері: він читає зразок JSON і пише відповідну модель даних обраною вами мовою. Виберіть ціль у меню «Перетворити на» — інтерфейс TypeScript, структура Go, структура serde Rust, схема Zod або JSON Schema — і задайте «Імʼя кореневого типу», щоб назвати тип верхнього рівня. Механізм виведення обходить JSON: рядки, числа, логічні значення та null зіставляються з нативними типами, вкладені обʼєкти підносяться до власних іменованих типів, масиви переймають тип свого елемента, а ключі, відсутні в деяких елементах масиву, стають необовʼязковими. Фронтенд- і бекенд-розробники використовують його, щоб створювати DTO з відповідей API, накидати схеми валідації та тримати типи клієнта й сервера синхронними, не пишучи шаблонний код вручну.
Як користуватися Конвертер JSON у код
- Вставте або введіть репрезентативний зразок JSON у поле введення чи натисніть «Зразок», щоб завантажити приклад.
- Відкрийте «Налаштування» й виберіть ціль у розділі «Перетворити на»: TypeScript, Go, Rust, Zod або JSON Schema.
- Задайте «Імʼя кореневого типу», щоб керувати імʼям інтерфейсу, структури або схеми верхнього рівня.
- Читайте згенерований код у панелі виводу — він оновлюється автоматично, коли ви редагуєте JSON або змінюєте параметри.
- Подивіться на статистику «Типи», щоб дізнатися, скільки іменованих типів було виведено, потім натисніть «Копіювати», щоб отримати результат.
Приклади
Обʼєкт в інтерфейс TypeScript
Вхідні дані
{ "id": 1, "name": "Ada", "active": true }Результат
export interface Root {
id: number;
name: string;
active: boolean;
}Вкладений обʼєкт у структуру Go
Вхідні дані
{ "user": { "age": 30 } }Результат
type User struct {
Age float64 `json:"age"`
}
type Root struct {
User User `json:"user"`
}Масив із відсутнім ключем у схему Zod
Вставте масив на кшталт [{"a":1,"b":2},{"a":3}] і перемкніть «Перетворити на» на Zod. Оскільки другий елемент не має b, генератор позначає b як .optional() у виведеному z.object, тож схема приймає обидві форми.
Поширені запитання
- Чи завантажується мій JSON кудись?
- Ні. Розбір і генерація коду виконуються цілком у вашому браузері за допомогою вбудованого механізму виведення. Ваш JSON ніколи не залишає пристрій, а інструмент продовжує працювати офлайн.
- Які цілі підтримуються?
- Інтерфейси TypeScript, структури Go (з тегами json та omitempty для необовʼязкових полів), структури serde Rust (з derive Serialize/Deserialize та rename під час перейменування поля), схеми Zod і JSON Schema draft-07. Інструмент генерує лише те, що може достовірно вивести з вашого зразка.
- Як визначаються необовʼязкові поля?
- За вашим зразком. Коли масив містить обʼєкти й певний ключ відсутній у частині з них, цей ключ виводиться як необовʼязковий. Загалом кожен ключ, наявний у зразку, вважається обовʼязковим.
- А як щодо чисел, null і змішаних типів?
- Числа зіставляються з типом із рухомою комою мови (number, float64, f64), null зіставляється з nullable- або значущим типом залежно від цілі, а поле, що в різних зразках зберігає різні типи, відкочується до дозвільного типу (unknown, interface{}, serde_json::Value), а не вгадує.
- Чому мій вивід порожній або показує помилку?
- Вхідні дані мають бути коректним JSON. Якщо розбір не вдався, інструмент показує помилку з рядком і стовпцем, коли це можливо; виправте позначене місце, і код миттєво перегенерується.
Схожі інструменти
Кодування / декодування Base32 / Base58
Кодуйте текст у Base32 (RFC 4648) або Base58 (алфавіт Bitcoin) і декодуйте обидва формати назад у текст — повністю безпечно для UTF-8 і цілком у вашому браузері.
Кодування / декодування Base64
Кодуйте або декодуйте Base64 (безпечно для UTF-8): URL-безпечний алфавіт, необовʼязкове доповнення, перенесення 64/76, лічильники байтів і символів та перегляд байтів у hex чи двійковому вигляді.
Конвертер регістру та лічильник
Перетворюйте текст між UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case та іншими форматами й рахуйте символи, слова та рядки.
Форматувальник і мініфікатор коду
Миттєво форматуйте або мініфікуйте HTML, CSS і JavaScript прямо у браузері з відступом у 2 пробіли, 4 пробіли чи табуляцію та стисканням JavaScript на основі Terser.