Я пытаюсь вывести некоторые данные из 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}]}
. Может ли кто-нибудь помочь в том, как лучше структурировать мой вывод?
---ОБНОВЛЕНИЕ------
Спасибо, Майкл. Я попытался реализовать ваш пример.
Это код на данный момент:
foreach my $key (keys %$seasons)
{
$seasons->{$key} =
[
map
{
{ id=>$_[0], DateStart=>$_[1], DateEnd=>$_[2] }
} @{$seasons->{$key}}
];
}
Но он возвращает ошибку (ссылаясь на строку foreach):
Not a HASH reference at line 148
$seasons — это arrayref, возвращаемый из SQL fetchall_arrayref
Есть подсказки?