【发布时间】:2021-10-10 06:24:35
【问题描述】:
我一直在使用一个脚本,用户将在其中输入搜索字符串,然后它将返回搜索结果 json。然而,我不得不进行更改,让脚本在表格中搜索数据并打印json 结果。我创建了一个 for 循环来执行此任务。 (发布了 for 循环的示例,这是此处唯一相关的部分):
#!/bin/perl
use strict;
use warnings;
use JSON;
$json = JSON->new->allow_nonref;
...
foreach (...) {
my $object = {name => "$name", surname => "$surname", age => "$age"}, 'response';
my $result = $json->encode($object);
print "$result";
}
这完全符合它的用途,并以有效的json 格式打印每个元素(手动使其漂亮):
{
"name" : "Sarah",
"surname" : "O'Conner",
"age" : "89"
}
{
"name" : "John",
"surname" : "Smith",
"age" : "32"
}
问题是每个json 元素都有效,但作为多个根元素无效。我需要这个:
[
{
"name":"Sarah",
"surname":"O'Conner",
"age":"89"
},
{
"name":"John",
"surname":"Smith",
"age":"32"
}
]
我尝试了 20 种不同的方法,但我无法解决这个问题。谁能帮我解决这个问题?如何将结果作为多个根元素和单独的元素?
【问题讨论】: