Perl から JSON にデータを出力しようとしています。簡単な出力を行うことはできますが、より適切に構成したいと考えています。
ID、開始時間、終了時間の配列があります。これは私が出力に使用しているコードです:
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 は、SQL fetchall_arrayref から返される arrayref です。
手がかりはありますか?