2009-10-09 7 views
9

Я хочу использовать Perl-скрипт, который получает данные JSON и преобразует его в XML-файл. Как я могу это сделать в Perl?Как я могу разобрать JSON в Perl?

+3

http://json.org/ ссылки на http://search.cpan.org/search?query=JSON –

+1

Не помещайте теги jokey. Это затрудняет людям поиск вопросов и ответов. –

+3

@Alex Reynolds: Некоторые вопросы заслуживают ответов, а некоторые нет. В частности, вопросы * send-me-te-codez * типа не задаются. Иногда, однако, вопрос может быть спасен. В этом случае, после второго рассмотрения, я решил исправить вопрос. В будущем вы также можете исправить вопрос, а также отредактировать теги. Что касается моего отношения к вопросу о том, когда вопрос должен быть установлен против левого томиться, см. Http://meta.stackexchange.com/questions/24838/are-you-less-licious-to-down-vote-someone-whose- gravator-is-a-photograph-of-them/24862 # 24862 –

ответ

10

Установка: XML::XML2JSON с

Судо CPAN XML :: xml2json

, а затем попробовать:

use XML::XML2JSON; 
my $JSON = '{"entry":{"name":"Douglas Crockford","phone":"555 123 456"}}'; 
my $XML2JSON = XML::XML2JSON->new(); 
my $Obj = $XML2JSON->json2obj($JSON); 
my $XML = $XML2JSON->obj2xml($Obj); 
print $XML; 
14
use JSON; 

my $json_string = '................'; 

my $deserialized = from_json($json_string); 

Это все - ваши данные в формате JSON обрабатывается и хранится в $ десериализованном.

+4

Если производительность вообще вызывает озабоченность, установите JSON :: XS (JSON будет использовать ее, если она там ... никаких изменений кода не требуется). – ysth

+0

Это не создает XML. – LeeGee

+0

Ну, конечно, это не так. Нет информации о том, как должен выглядеть xml (например: что должно быть атрибутом и каким тегом), поэтому невозможно построить xml из данных без спецификации схемы. Если схема «любая, просто сделайте ее действительной» - «используйте XML :: Simple; print XMLout ($ deserialized); ' – 2013-06-11 15:42:46

Смежные вопросы