Perl в JSON с парами ключ/значение

Я пытаюсь вывести некоторые данные из 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

Есть подсказки?

0
задан skeniver 10 April 2012 в 15:40
поделиться