UTILS.
100% в браузере
🐹

JSON в Go-структуру

Преобразуйте образец JSON в типизированные Go-структуры с json-тегами. Выводит int64, float64, bool, вложенные структуры и слайсы в браузере.

результат

Об этом инструменте

Вставьте образец JSON, и этот инструмент сгенерирует готовые к использованию Go-структуры с тегами `json:"field"` для каждого ключа. Всё выполняется локально в браузере, поэтому ваш JSON никуда не загружается.

Генератор вызывает JSON.parse и рекурсивно обходит результат: строки становятся string, булевы значения — bool, целые числа — int64, а числа с десятичной частью — float64, null становится interface{}, массивы становятся слайсом типа первого элемента ([]interface{}, если пусто), а каждый объект становится собственной именованной вложенной структурой. Имена полей преобразуются в экспортируемый PascalCase (с записью распространённых аббревиатур вроде ID и URL заглавными), а исходный ключ сохраняется в json-теге.

Используйте это, чтобы быстро создать Go-модели из ответа API или файла конфигурации, а затем вручную привести типы в порядок там, где нужно. Поскольку в JSON нет отдельного целочисленного типа, значение вроде 1.0 читается как целое; добавьте десятичную часть (1.5), если хотите float64.

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

Как определяется тип чисел?
Разобранное значение без дробной части становится int64; значение с десятичной частью становится float64. JSON не может отличить 1 от 1.0, поэтому оба читаются как int64.
Что происходит с вложенными объектами и массивами?
Каждый объект становится отдельной именованной структурой; массивы становятся слайсом типа первого элемента или []interface{}, если массив пуст или элемент равен null.
Являются ли имена полей корректными для Go?
Ключи преобразуются в экспортируемый PascalCase, а исходный ключ сохраняется в json-теге, поэтому JSON корректно проходит туда-обратно даже для имён вроде user_id или first-name.
Отправляется ли мой JSON на сервер?
Нет. Разбор и генерация кода происходят полностью в браузере; ничего не загружается и не сохраняется.

Больше инструментов