JSON в Go структуру
Преобразуйте пример JSON в определения структуры Go с выводимыми типами и тегами.
JSON в Go структуру
Вставьте пример JSON, и этот инструмент сгенерирует соответствующие определения структуры Go с тегами json. Он выводит int, float64, string, bool и null для каждого поля, создает именованные или встроенные структуры для вложенных объектов и определяет типы срезов для массивов — включая срезы объектов, которые имеют собственную переиспользуемую структуру.
Параметры формируют сгенерированный код. Назовите корневую структуру сами или позвольте инструменту вывести ее. Выберите, как будут написаны теги — сохраните исходный ключ или преобразуйте его в snake_case или camelCase независимо от того, как был назван исходное поле. Включите "Добавить omitempty", чтобы добавить его к каждому тегу, и "Указатели для опциональных полей", чтобы пометить поля, которые отсутствуют или имеют значение null в частях примера с типом указателя. Когда объекты массива имеют немного разные поля, "Объединить формы элементов массива" объединяет их в одну структуру с дополнительными полями, помеченными как опциональные, вместо того, чтобы отказываться от типа элемента. Для значений, которые инструмент не может определить, выберите interface{}, alias any или json.RawMessage для отложенного декодирования.
Это шаг перед написанием клиента API или загрузчика конфигурации на Go: вставьте реальный ответ или пример конфигурации и получите начальную структуру вместо ручного ввода имен полей и тегов. Вложенные структуры могут оставаться как отдельные именованные типы для повторного использования в другом месте пакета или отображаться встроенными, когда форма используется только один раз. Для полей, чей тег больше не соответствует исходному ключу JSON, доступен комментарий с исходным ключом.
Все выполняется локально в вашем браузере — JSON, который вы вставляете, который может содержать реальные ответы API или внутреннюю конфигурацию, никогда не загружается. Скопируйте результат, загрузите его как файл .txt или переместите вывод обратно в ввод, чтобы уточнить пример и повторно создать.