【发布时间】:2018-09-10 14:55:45
【问题描述】:
我需要在 JSON 数组中搜索特定术语并获取包含该术语作为键值的数组元素的索引,下面是我正在处理的示例 JSON 文件,我需要获取“artifact_id”为“jar”的数组元素,所以在这种情况下我需要获取数组的索引1,保证“artifact_id”是唯一的:
{
"maven": [
{
"version": "1.2",
"artifact_id": "zip"
},
{
"version": "1.2",
"artifact_id": "jar"
}
]
}
我正在使用 JSON 库并且可以将 JSON 解码为 Perl 对象,任何人都可以为我建议下一步吗?非常感谢。
my $json_text = do {
open( my $json_fh, "<:encoding(UTF-8)", $filename[0] )
or die("Can't open \$filename\": $!\n");
local $/;
<$json_fh>;
};
my $json = JSON->new;
my $json_data = $json->decode($json_text);
【问题讨论】:
-
如果您正在处理 JSON 和文件,可能值得查看提供
json_file_to_perl的JSON::Parse。代替 8 行代码,您可以这样做:my $json_data = json_file_to_perl($filename);...但是,嘿,手工制作是一个很好的起点并获得知识