gx6060
Staff member
- Nov 10, 2019
- 259
- 313
Концепция форматов данных
При обмене данными с людьми возможности отображения этой информации практически безграничны. Например, подумайте, как ресторан может представить свое меню. Это может быть только текст, маркированный список, или фотографии с подписями, или просто фотографии. Это все разные способы, ресторан может форматировать данные, из которых составляют меню. Чем лучше продуманна форма представления информации, тем она наиболее понятна целевой аудитории. Этот же принцип применяется к общим данным между компьютерами. Компьютер должен поместить данные в формат, понятный другому компьютеру.
Форматы данных - это просто способ хранения и обмена данными в структурированном формате. Один из таких форматов Hypertext Markup Language (HTML). HTML является стандартным языком разметки для описания структуры веб-страниц.
Вот некоторые распространенные форматы данных, которые используются во многих приложениях, включая автоматизацию сети и программируемость:
- JavaScript Object Notation (JSON)
- eXtensible Markup Language (XML)
- YAML Ain’t Markup Language (YAML)
Правила формата данных
Форматы данных имеют правила и структуру, аналогичные тем, которые мы имеем в программировании и письменных языках. Каждый формат данных будет иметь определенные характеристики:
- Синтаксис, который включает типы используемых скобок, такие как [], (), {}, использование пробелов или отступов, кавычек, запятых и т. д.
- Как должны быть представлены объекты, такие как символы, строки, списки и массивы.
- Как должны быть представлены пары ключ/значение. Ключ обычно находится слева, и он идентифицирует или описывает данные. Значение справа представляет собой сами данные и может быть символом, строкой, числом, списком или данными другого типа.
Выполните поиск в Интернете, чтобы найти расширение для браузера «JSONView» или любое другое расширение, которое позволит вам просматривать JSON в более удобочитаемом формате. Объекты данных отображаются в парах ключ/значение. Следующий вывод показывает тот же вывод с использованием JSONView. Пары ключ/значение гораздо проще интерпретировать. В приведенном ниже примере вы можете увидеть ключ - широту и его значение 25.9990.
Сравнение форматов данных
Чтобы увидеть те же данные в формате XML или YAML, поищите в Интернете инструмент преобразования JSON. На этом этапе не так важно понимать детали каждого формата данных, но обратите внимание, как каждый формат данных использует синтаксис и как представлены пары ключ/значение.
Формат JSON
Формат YAML
Формат XML
Формат данных JSON
JSON - это читаемый человеком формат данных, используемый приложениями для хранения, передачи и чтения данных. JSON - очень популярный формат, используемый веб-сервисами и API для предоставления общедоступных данных. Это потому, что его легко анализировать, и его можно использовать с большинством современных языков программирования, включая Python.
Следующий вывод показывает пример частичного вывода в IOS команды show interface GigabitEthernet0/0/0 на маршрутизаторе.
Вывод маршрутизатора
Эта же информация может быть представлена в формате JSON. Обратите внимание, что каждый объект (каждая пара ключ/значение) представляет собой отдельный фрагмент данных об интерфейсе, включая его имя, описание и то, включен ли интерфейс.
Вывод JSON
Правила синтаксиса JSON
Вот некоторые из характеристик JSON:
- Он использует иерархическую структуру и содержит вложенные значения.
- Он использует фигурные скобки { } для хранения объектов и квадратные скобки [ ] для хранения массивов.
- Его данные записываются в виде пар ключ/значение.
- Ключи должны быть строками в двойных кавычках " ".
- Значения должны быть допустимым типом данных JSON (строка, число, массив, логический, нулевой или другой объект).
- Ключи и значения разделяются двоеточием.
- Несколько пар ключ/значение внутри объекта разделяются запятыми.
- Пробел не имеет значения.
- За ключом следует двоеточие и список значений в квадратных скобках [ ].
- Массив представляет собой упорядоченный список значений.
- Массив может содержать несколько типов значений, включая строку, число, логическое значение, объект или другой массив внутри массива.
- Каждое значение в массиве отделяется запятой.
Список адресов IPv4 в формате JSON
Формат данных YAML
YAML - это другой тип читаемого человеком формата данных, используемый приложениями для хранения, передачи и чтения данных. Некоторые характеристики YAML:
- Похож на JSON и считается надмножеством JSON.
- YAML имеет минималистский формат, облегчающий чтение и запись.
- Он использует отступ для определения своей структуры, без использования скобок или запятых.
JSON для GigabitEthernet2
Эти же данные в формате YAML легче читать. Подобно JSON, объект YAML представляет собой одну или несколько пар ключ-значение. Пары ключ-значение отделяются двоеточием без использования кавычек. В YAML дефис используется для разделения каждого элемента в списке. Это показано для трех адресов IPv4 в следующем выводе.
YAML для GigabitEthernet2
Формат данных XML
XML - это еще один тип читаемого человеком формата данных, который используется для хранения, передачи и чтения данных приложениями. Некоторые из характеристик XML:
- Это похоже на HTML, который является стандартизированным языком разметки для создания веб-страниц и веб-приложений.
- XML самоописательный. Он заключает данные в связанный набор тегов: <tag>data</tag>
- В отличие от HTML, XML не использует предопределенные теги или структуру документа.
Следующий вывод показывает те же данные для GigabitEthernet2, отформатированные как структура данных XML. Обратите внимание, как значения заключены в теги объекта. В этом примере каждая пара ключ/значение находится на отдельной строке, а некоторые строки имеют отступ. Это не обязательно, но сделано для удобства чтения. Список использует повторяющиеся экземпляры <tag></tag> для каждого элемента в списке. Элементы в этих повторяющихся экземплярах представляют одну или несколько пар ключ/значение.
XML для GigabitEthernet2
Last edited by a moderator: