Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 41(211)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7

Библиографическое описание:
Берьянов М.С. ЧТЕНИЕ И ПАРСИНГ YAML / JSON ФАЙЛОВ НА ЯЗЫКЕ Go // Студенческий: электрон. научн. журн. 2022. № 41(211). URL: https://sibac.info/journal/student/211/274278 (дата обращения: 25.04.2024).

ЧТЕНИЕ И ПАРСИНГ 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. Мы также можем передавать структуры как типы переменных внутри функций и использовать их по назначению. Данная программная особенность полезна, к примеру, при считывании файлов-конфигураций приложения, а также файлов-накопителей данных.

 

Список литературы:

  1. The Go Programming Language [Электронный ресурс] URL: https://go.dev (дата обращения: 14.12.2022).
  2. OS package [Электронный ресурс] URL: https://pkg.go.dev/os (дата обращения: 14.12.2022).
  3. Маленькая книга по Go - Структуры [Электронный ресурс] URL: https://sefus.ru/little-go-book-2 (дата обращения: 14.12.2022).
  4. Что такое JSON [Электронный ресурс] URL: https://habr.com/ru/post/554274 (дата обращения: 14.12.2022).
  5. YAML [Электронный ресурс] URL: https://yaml.org (дата обращения: 14.12.2022).

Оставить комментарий

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