Belirli bir kullanıcıyla ilişkili haritaları listeleyen ancak iç içe geçmiş JSON nesneleriyle çalışmayan bir JSON nesnesi oluşturmaya çalışıyorum. Bu perl kodu ileJSl biçimlendirme perl
{
"success":"list of users maps",
"maps":[
{
"id":"1",
"name":"Home to LE",
"date_created":"1366559121"
},
{
"id":"2",
"name":"Test 1",
"date_created":"1366735066"
}
]
}
:
my $maps = [];
for (my $x = 0; $x < $sth->rows; $x++) {
my ($id, $name, $date) = $sth->fetchrow_array();
my $map = qq{{"id":"$id","name":"$name","date_created":"$date"}};
push $maps, $map;
}
my $j = JSON::XS->new->utf8;
my $output = $j->encode({
"success"=>"list of users maps",
"maps"=>$maps
});
Ama alıyorum çıktı edilir: Bu Benim istediğim Yani
{
"success":"list of users maps",
"maps":[
"{\"id\":\"1\",\"name\":\"Home to LE\",\"date_created\":\"1366559121\"}",
"{\"id\":\"2\",\"name\":\"Test 1\",\"date_created\":\"1366735066\"}"
]
}
benim JavaScript işlemek zaman, data.maps [x] .id tanımlanmamış. Çıktılan JSON'un hatalı biçimlendirildiğinden eminim.
Düzeltmek için bana yardımcı olan var mı?
ben fark dize kendim sorunu Örnek olarak
, bazı test kodu yazmış! Teşekkürler, perl betiğini değiştirdim ve şimdi güzel çalışıyor! – skeniver[Perl 5.14] 'den önce (http://perldoc.perl.org/perl5140delta.html#Syntactical-Enhancements "perldoc perldelta5140") "$ map itin," 'push @ olarak yazılmalıdır. $ haritalar, ... '. –