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