Конвертер 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 у код

  1. Вставте або введіть репрезентативний зразок JSON у поле введення чи натисніть «Зразок», щоб завантажити приклад.
  2. Відкрийте «Налаштування» й виберіть ціль у розділі «Перетворити на»: TypeScript, Go, Rust, Zod або JSON Schema.
  3. Задайте «Імʼя кореневого типу», щоб керувати імʼям інтерфейсу, структури або схеми верхнього рівня.
  4. Читайте згенерований код у панелі виводу — він оновлюється автоматично, коли ви редагуєте JSON або змінюєте параметри.
  5. Подивіться на статистику «Типи», щоб дізнатися, скільки іменованих типів було виведено, потім натисніть «Копіювати», щоб отримати результат.

Приклади

Обʼєкт в інтерфейс 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. Якщо розбір не вдався, інструмент показує помилку з рядком і стовпцем, коли це можливо; виправте позначене місце, і код миттєво перегенерується.

Схожі інструменти