Работа с форматом JSON на языке PERL.
Формат JSON
JSON(JavaScript Object Notation) – текстовый формат данных. Является альтернативой формата XML. На примере рассмотрим отличия форматов JSON и XML. Допустим, разработчику необходимо хранить информацию о студентах в приложении «Journal students». В листинге, представленном ниже, приведена реализация хранения данных с использованием формата XML.
<student> <name>Алексей</name> <surname>Алексеев</surname> <faculty>Экономический</faculty> <group>Э-51</group> <adress> <city>Москва</city> <street>Береговая</street> <house>2</house> <apartment>14</apartment> </adress> </student> <student> <name>Петр</name> <surname>Петров</surname> <faculty>Машиностроительный</faculty> <group>М-72</group> <adress> <city>Москва</city> <street>Речная</street> <house>12</house> <apartment>24</apartment> </adress> </student>
Подобная структура данных представленная в формате JSON будет выглядеть следующим образом:
[ { "name": "Петр", "surname": "Петров", "faculty": "Машиностроительный", "group": "М-72", "adress": { "city": "Москва", "street": "Речная", "house": "12", "apartment": "24" } }, { "name": "Алексей", "surname": "Алексеев", "faculty": "Экономический", "group": "Э-51", "adress": { "city": "Москва", "street": "Береговая", "house": "2", "apartment": "14" } } ]
Постановка задачи
Необходимо написать скрипт на языке Perl, предназначенный для парсинга структуры данных формата JSON. Это необходимо для операций, производимых над данными из структуры формата JSON.
JSON и Perl
Для работы с форматом JSON используется библиотека JSON-2.53:
use JSON;
Подпрограмма decodeJSON, представленная ниже, предназначена для преобразования структуры данных формата JSON в структуру данных языка Perl (составленную из массивов и хэшей различной степени вложенности).
sub decodeJSON { my ($JSONText) = @_; my $hashRef = decode_json($JSONText); return @$hashRef; }
Подпрограмма encodeJSON предназначена для преобразования структуры данных Perl в структуру данных формата JSON.
sub encodeJSON{ my($arrayRef) = @_; $JSONText= JSON->new->utf8->encode($perl_scalar); return $JSONText; }
Заключение
В результате получена структура данных Perl, для которой в дальнейшем будет написан следующий функционал:
• Добавление элементов;
• Удаление элементов;
• Редактирование данных элемента;
• Поиск необходимого элемента;
ссылка на оригинал статьи http://habrahabr.ru/post/205130/
Добавить комментарий