Aşağıdaki perl kodu JSON'ta bir diziyi ayrıştırmak için yazdım. Ancak döndürülen dizinin uzunluğu 1'dir ve düzgün şekilde yineleyemiyorum. Yani sorun, döndürülen diziyi kullanamıyorum.JSON içinde kodlanmış bir diziyi ayrıştırma perl
#!/usr/bin/perl
use strict;
my $json_text = '[ {"name" : "abc", "text" : "text1"}, {"name" : "xyz", "text" : "text2"} ]';
use JSON;
use Data::Dumper::Names;
my @decoded_json = decode_json($json_text);
print Dumper(@decoded_json), length(@decoded_json), "\n";
çıkışı gelir:
$VAR1 = [
{
'text' => 'text1',
'name' => 'abc'
},
{
'text' => 'text2',
'name' => 'xyz'
}
];
1
Dereferencing biraz yardımcı olur. Şimdi döndürülen dizinin üzerinde yineleyebiliyorum. Ama hala ben dizi = 1 –
Benim kötü. Dizinin uzunluğunu almak için length (@decoded_json) kullanıyordum! –