【发布时间】:2015-11-20 23:23:50
【问题描述】:
我在JSON->new 变量中有如下示例所示的数据,我只需要打印最后一个'ref',即DEF,大小可能会有所不同,有没有比循环和打印最后一个更简单的方法物品?谢谢。
$VAR1 = {
'patchSets' => [
{
'ref' => 'ABC',
'id' => '123'
},
{
'ref' => 'PQR',
'id' => '456'
},
{
'ref' => 'DEF',
'id' => '789'
}
]
};
编辑:好吧,代码 sn-p 如下所示打印第一个效果很好的元素,但我需要打印最后一个元素:
my $json = JSON->new;
my $json_text = `ssh -p $port $host gerrit query --format=JSON project:path/to/project --patch-sets $commitId`;
#truncate {"type":"stats","rowCount":1,"runTimeMilliseconds":6}
$json_text = ( split /\n/, $json_text )[0];
my $data = $json->decode($json_text);
#print Dumper $data;
print $data->{patchSets}[0]{ref};
【问题讨论】:
-
你已经转储了一个 Perl 哈希。 Perl 代码是什么样的?无论如何,
$array[-1]会给你一个数组的最后一个元素。如果您编辑帖子以包含您的实际代码,我可以为您提供完整的答案。 -
它有效,请将其发布为答案。多谢。 -1 如何选择最后一个元素?
-
查看我的回答,了解为什么 -1 有效。