Работа с форматом JSON на языке PERL

от автора

Работа с форматом 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/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *