JSON у структуру Go

Генеруйте оголошення struct у Go з репрезентативного об’єкта чи масиву JSON, зокрема вкладені типи, експортовані назви полів і теги json для початкових властивостей.

Виберіть назви пакета й кореневого типу, а потім згенеруйте повний вихідний файл Go з коректними експортованими полями й тегами json для початкових властивостей. Перевірте рішення, залежні від зразка, перед використанням типів у застосунку.

Як значення JSON зіставляються з типами Go

Як згенерувати структури Go з JSON

  1. Вставте об’єкт JSON чи непорожній масив або додайте зразок даних.
  2. Виберіть назви пакета й кореневого типу та чи повинні теги json містити omitempty.
  3. Згенеруйте вихідний код Go, перевірте визначені типи, а потім скопіюйте або завантажте результат.

Поширені запитання про JSON у struct Go

Які вхідні дані JSON можна використовувати?

Використовуйте один об’єкт JSON або будь-який непорожній масив JSON. Масив верхнього рівня стає іменованим зрізом, а кожен об’єкт у масиві впливає на визначені поля. Назви властивостей мають бути представлені стандартними тегами struct Go для encoding/json; непідтримувані назви спричиняють помилку, а не непомітно змінюються.

Як обробляються масиви об’єктів і відсутні поля?

Масиви об’єктів об’єднуються за всіма наданими елементами. Поле, присутнє лише в деяких елементах, усе одно створюється за наявними значеннями. Параметр omitempty змінює кожен тег json; він не додає вказівники й не перевіряє обов’язкові поля.

Що відбувається з null і змішаними значеннями?

Значення null, несумісна суміш типів значень або масив із несумісними значеннями стає any. Порожній масив стає []any, оскільки зразок не розкриває тип елементів.

Чи можна використовувати створені типи без перевірки?

Сприймайте результат як початковий варіант на основі зразка. Перед додаванням типів до проєкту перевірте необов’язкові поля, рядки часу, об’єкти на кшталт map, числові діапазони та ідентифікатори, які можуть перевищувати точний діапазон числа JSON.

Чи завантажується мій JSON на сервер?

Ні. Цей інструмент розбирає й перетворює JSON у цій вкладці браузера. Він не завантажується на сервер.

Пов’язані інструменти: Форматування JSON · JSON у TypeScript · Генератор JSON Schema

Форматування коду

Форматуйте й упорядковуйте Java, Python, JavaScript, JSON, HTML та інші; налаштовуйте відступи, пробіли й розриви рядків.

Інші інструменти

Редагування аудіо й ефекти

Обрізайте, об’єднуйте чи розділяйте записи, видаляйте тишу або шум і налаштовуйте гучність, швидкість, висоту тону чи канали.

Інші інструменти

Інструменти електронних таблиць

Відкривайте й редагуйте аркуші CSV або Excel, форматуйте табличний текст і перетворюйте CSV в Excel чи SQL.

Інші інструменти

Інструменти Markdown

Пишіть і переглядайте Markdown, відображайте діаграми Mermaid та перетворюйте Markdown, HTML і таблиці між форматами.

Інші інструменти

Текстові інструменти

Порівнюйте уривки, рахуйте слова й ключові слова, сортуйте чи замінюйте рядки та переглядайте текст DOCX.

Інші інструменти

Словники

Шукайте китайські значення, синоніми й антоніми або вимову IPA різними мовами.

Перетворення й відтворення аудіо

Перетворюйте MP3, WAV, FLAC та інші формати, відтворюйте аудіо або необроблений PCM, переглядайте й редагуйте аудіометадані.

Інструменти JSON і даних

Переглядайте, порівнюйте й перевіряйте JSON, тестуйте вирази JSONPath або перетворюйте дані в CSV, YAML та XML.

Інші інструменти

Інструменти мовлення

Розпізнавайте аудіо в текст, генеруйте мовлення з тексту або записуйте свій голос у браузері.

Відеоінструменти

Перетворюйте й стискайте відео, обрізайте чи об’єднуйте кліпи, змінюйте розміри кадру й видобувайте аудіо.

Інші інструменти

Відтворення й запис відео

Відтворюйте локальне або потокове відео, записуйте екран чи камеру й використовуйте камеру як онлайн-дзеркало.

Інструменти PDF

Стискайте чи об’єднуйте PDF, розділяйте й переставляйте сторінки, перетворюйте їх на зображення та переглядайте чи порівнюйте документи.

Інші інструменти

Інструменти зображень

Перетворюйте формати зображень, змінюйте розмір чи обрізайте фото, стискайте файли, порівнюйте картинки й видобувайте текст за допомогою OCR.

Інші інструменти

Створення зображень

Робіть і прикрашайте знімки екрана, перетворюйте текст на зображення чи GIF, малюйте на дошці та створюйте хмари слів або фавікони.

Інші інструменти

Інструменти субтитрів

Редагуйте субтитри SRT або VTT з попереднім переглядом відео, зсувайте час, перетворюйте формати й керуйте доріжками субтитрів.

Інші інструменти

Інструменти архівів

Відкривайте файли ZIP, 7Z, RAR або TAR, видобувайте вибраний вміст і створюйте нові архіви з необов’язковими паролями ZIP/7Z.

Кодувальники | Декодувальники

Кодуйте й декодуйте Base64 або Base32, екрануйте URL, HTML і текст Unicode та переглядайте вміст JWT.

Інші інструменти

Інструменти чисел

Перетворюйте системи числення й значення між двійковою, десятковою та шістнадцятковою; перетворюйте числа на слова або текст на двійковий запис.

Калькулятори

Обчислюйте відсотки й дроби, підсумовуйте статистику та розраховуйте оцінки, знижки або співвідношення сторін.

Інші інструменти

Інструменти часу

Показуйте онлайн-годинник, запускайте зворотний відлік чи секундомір і розраховуйте дати, вік або різницю часових поясів.

Інші інструменти

Мережеві інструменти

Перевіряйте свою IP-адресу й з’єднання IPv6, переглядайте HTTP-запити або файли HAR та обчислюйте діапазони адрес CIDR.

Перетворення одиниць

Перетворюйте одиниці довжини, ваги, температури, обсягу даних та інші.

Інструменти кольорів

Перетворюйте значення HEX, RGB і HSL, видобувайте кольори із зображення, перевіряйте контраст або тестуйте дисплей суцільними кольорами.

QR-коди й штрихкоди

Генеруйте й скануйте QR-коди або штрихкоди, зокрема QR-коди для посилань і мереж Wi-Fi.

Інструменти розробки й безпеки

Генеруйте хеші, UUID і паролі, тестуйте регулярні вирази, створюйте URL-слаги й перевіряйте права доступу до файлів.

Інші інструменти

Допоміжні інструменти

Перевіряйте роздільну здатність і частоту оновлення екрана, вимірюйте екранною лінійкою, тестуйте клавіші або читайте з телесуфлера.

Інші інструменти

Ігри

2048, Сапер, Судоку, Гомоку, Танкова битва

Інші інструменти