我正在尝试将一些数据从 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
有什么线索吗?