2009-10-09 16 views
9

JSON verilerini alan ve XML dosyasına dönüştüren Perl betiğini kullanmak istiyorum. Bunu Perl'de nasıl yapabilirim?JSON'u Perl'de nasıl ayrıştırabilirim?

+3

http://json.org/ links to http://search.cpan.org/search?query=JSON –

+1

Jokey etiketlerini koymayın. İnsanların soruları ve cevapları bulmasını çok daha zorlaştırıyor. –

+3

@Alex Reynolds: Bazı sorular cevapları hak ediyor ve bazıları değil. Özellikle, * send-me-teh-codez * tipi sorular yapmaz. Ancak bazen soru kurtarılabilir. Bu durumda, ikinci bir değerlendirmeden sonra, soruyu düzeltmeye karar verdim. Gelecekte, ayrıca soruları düzeltmenin yanı sıra etiketleri düzenlemek de isteyebilirsiniz. Bir sorununun ne zaman solda kalması gerektiğine ilişkin tutumumda olduğu gibi, bkz. Http://meta.stackexchange.com/questions/24838/are-you-less-likely-to-down-vote-someone-whose- gravatar-is-a-fotoğraf-of-on/24862 # 24862 –

cevap

10

yükleyin: XML::XML2JSON sudo cpan XML :: XML2JSON

ve sonra deneyin

ile:

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); 

hepsi - JSON veri ayrıştırılır ve depolanır $ serileştirildi.

+4

Performansı bir endişe varsa, aynı zamanda JSON :: XS (JSON onu kullanacaksa kullanacaktır ... kod değişikliği gerekmez) yükleyin. – ysth

+0

XML üretmiyor. – LeeGee

+0

Evet, öyle değil. Xml'nin nasıl göründüğü ile ilgili bir bilgi yoktur (örneğin, ne olması gerektiği ve hangi etiketin olması gerektiği), bu yüzden şema belirtimi olmadan veriyi xml oluşturmak imkansızdır. Şema "herhangi biri ise, yalnızca geçerli olsun" - 'kullanın XML :: Basit; XMLout yazdır ($ deserialized); –

İlgili konular