В данной инструкции показан очень специфичный случай, когда программа принимает JSON из ненадежного источника, и JSON содержит массив объектов, у которых есть начальный токен [. Однако количество элементов в массиве велико, поэтому целостность JSON данных может быть повреждена.

Поврежденный JSON — как извлечь из него данные в Go?

1. Создайте файл json.go со следующим содержимым:

Премиум 👑 канал по Golang

Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Подписаться на канал

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК ЧАТ в Telegram


2. Запустите код через go run json.go;
3. Посмотрите на результат в терминале:

Помимо функции Unmarshall, пакет json также содержит API декодера. С помощью NewDecoder можно создать декодер. Через вызов метода Token от декодера, базовый Reader прочитывается и возвращается интерфейс токена. Он может содержать несколько значений.

Одно из значений является тип Delim, это руна, содержащая один из символов {, [, ], }. Основываясь на этом, фиксируется начало JSON массива. С помощью метода More для декодера можно зафиксировать больше объектов для декодирования.

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии