Перейти к содержимому
ToolMug

Конвертер JSON в структуры Go

Вставьте JSON и получите определения структур Go с тегами json, готовые для encoding/json. Имена полей следуют соглашениям Go, вложенные объекты становятся отдельными типами, а столбцы выравниваются как в gofmt.

Работает в браузере — введённые данные никуда не загружаются

Как пользоваться

  1. Вставьте пример JSON или нажмите «Загрузить пример».
  2. Задайте имя корневой структуры в поле «Имя корневого типа».
  3. Скопируйте или скачайте сгенерированный код и добавьте его в свой пакет.

Описание параметров

Имя корневого типа
Имя структуры верхнего уровня. Вложенные структуры называются по своим ключам.

Примеры

{"user_id": 7, "email": null, "tags": ["a"]} превращается в:

type Root struct {
	UserID int64    `json:"user_id"`
	Email  any      `json:"email"`
	Tags   []string `json:"tags"`
}

Часто задаваемые вопросы

Как выбираются имена полей?

Ключи преобразуются в экспортируемые имена в PascalCase, а распространённые аббревиатуры пишутся заглавными, как рекомендует стиль Go, — user_id становится UserID, а homeUrl — HomeURL. Исходный ключ сохраняется в теге json.

Когда используются указатели и omitempty?

Ключи, которых нет в некоторых элементах массива, получают omitempty. Значения, которые иногда равны null, становятся указателями (*string), чтобы null можно было отличить от пустого значения; необязательные вложенные структуры тоже становятся указателями.

Какие числовые типы используются?

Целые числа становятся int64, а дробные — float64. Если у ключа в разных элементах встречаются оба варианта, используется float64.

Загружается ли мой JSON на сервер?

Нет. Типы генерируются в вашем браузере, поэтому ответы API с реальными данными остаются на вашем устройстве.

Конфиденциальность

Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.

Похожие инструменты