Статья опубликована в рамках: Научного журнала «Студенческий» № 41(211)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7
ЧТЕНИЕ И ПАРСИНГ YAML / JSON ФАЙЛОВ НА ЯЗЫКЕ Go
READING AND PARSING YAML / JSON FILES IN GO LANGUAGE
Maxim Beryanov
student, PIKT faculty, ITMO University,
Russia, Saint-Petersburg
АННОТАЦИЯ
JSON – текстовый формат обмена данными. Как и многие другие текстовые форматы, к примеру YAML, JSON достаточно легко и быстро читается человеком. В данной статье предлагается использовать инструменты языка Go для считывания структурных данных из файлов упомянутых форматов.
ABSTRACT
JSON is a text data exchange format. Like many other text formats, such as YAML, JSON is quite easy and fast for a human to read. This article proposes to use the Go language tools to read structural data from files of the mentioned formats.
Ключевые слова: JSON, YAML, Go, файл.
Keywords: JSON, YAML, Go, file.
Для того, чтобы опознать файл, а затем считать этот файл из файловой системы, необходимо обратиться к библиотеке языка Go [1] под названием os [2]. С помощью представленного на рисунке 1 кода мы можем перечислить все файлы в директории и посмотреть, является ли выбранная сущность каталогом или нет. Для этого используются библиотечные функции ReadDir() и isDir(). Чтобы прочитать содержимое файла, необходимо использовать функцию ReadFile() той же библиотеки. После этого возможно производить некоторые действия над байтовым представлением файла – в примере содержимое файла выводится на экран через промежуточное приведение к строковому типу.
Рисунок 1. Чтение директории и файла, перебор файлов
Поскольку мы знаем, как считывать содержимое файла, мы можем преобразовать его в экземпляр соответствующей структуры [3] Go, но сперва нужно произвести формальное объявление структуры, которую мы хотим использовать. В зависимости от того, форматирован наш файл в виде JSON [4] или YAML [5], для каждого поля структуры нужно добавить соответствующий параметр json или yaml, чтобы отобразить эквивалентное данному полю структуры поле в описанном выше представлении (рисунок 2).
Рисунок 2. Структуры JSON и YAML представления
Теперь, когда у нас есть готовые структуры Person и Pet, мы можем выполнить преобразование содержимого файлов в экземпляры данных структур с помощью фрагмента кода, представленного на рисунке 3.
Рисунок 3. Заполнение JSON и YAML структур
Таким образом, у нас появляется возможность обращаться к полям считанных структур схожим объекту образом – через вызов person.Name или pet.Breed. Мы также можем передавать структуры как типы переменных внутри функций и использовать их по назначению. Данная программная особенность полезна, к примеру, при считывании файлов-конфигураций приложения, а также файлов-накопителей данных.
Список литературы:
- The Go Programming Language [Электронный ресурс] URL: https://go.dev (дата обращения: 14.12.2022).
- OS package [Электронный ресурс] URL: https://pkg.go.dev/os (дата обращения: 14.12.2022).
- Маленькая книга по Go - Структуры [Электронный ресурс] URL: https://sefus.ru/little-go-book-2 (дата обращения: 14.12.2022).
- Что такое JSON [Электронный ресурс] URL: https://habr.com/ru/post/554274 (дата обращения: 14.12.2022).
- YAML [Электронный ресурс] URL: https://yaml.org (дата обращения: 14.12.2022).
Оставить комментарий