我用下面的Perl代码来解析在JSON数组,使用JSON模块。但是返回的数组长度为1,我无法对其进行正确的迭代。所以问题是我无法使用返回的数组。
JSON
#!/usr/bin/perl use strict; my $json_text = '[ {"name" : "abc", "text" : "text1"}, {"name" : "xyz", "text" : "text2"} ]'; use JSON; use Data::Dumper::Names; my @decoded_json = decode_json($json_text); print Dumper(@decoded_json), length(@decoded_json), "\n";
输出结果为:
$VAR1 = [ { 'text' => 'text1', 'name' => 'abc' }, { 'text' => 'text2', 'name' => 'xyz' } ]; 1
该decode_json函数返回一个arrayref而不是一个列表。您必须取消引用它才能获取列表:
decode_json
my @decoded_json = @{decode_json($json_text)};
您可能需要阅读perldoc perlreftut和perldoc perlref
perldoc perlreftut
perldoc perlref