我想輸出一些數據從Perl到JSON。我可以做一個簡單的輸出,但想更好地構造它。我有一個ID,開始時間和結束時間數組。這是我用來輸出的代碼:它返回Perl到JSON,與鍵/值對
print header('application/json');
my $json->{$entry} = \@array;
my $json_text = to_json($json);
print $json_text;
:
{"Season":[["1","1330065300","1344038401"],["7","1298505601","1312416001"]]}
但我想輸出更多的東西一樣:
{"Season":0[{"id":1,"DateStart":1330065300,"DateEnd":1344038401},{"id":7,"DateStart":1298505601,"DateEnd":1312416001}]}
任何人都可以如何幫助更好的結構我的輸出?
--- UPDATE ------
謝謝邁克爾。我試圖實現你的例子。
這是目前的代碼:
foreach my $key (keys %$seasons)
{
$seasons->{$key} =
[
map
{
{ id=>$_[0], DateStart=>$_[1], DateEnd=>$_[2] }
} @{$seasons->{$key}}
];
}
但它返回錯誤(指的foreach線):
Not a HASH reference at line 148
$季節是從SQL fetchall_arrayref
一個數組引用返回任何線索?
您能夠使用CPAN庫,例如http://search.cpan.org/~mlehmann/JSON-XS-2.32/XS.pm? – dsolimano 2012-04-09 14:08:05
你說你想返回的代碼是無效的JSON。那個'0'真的應該在那裏嗎? – Quentin 2012-04-09 14:16:20
如果你想在JSON中使用散列,那麼該結構的那部分必須是Perl結構中的散列。 – 2012-04-09 23:56:29