3
我需要循環通過幾個jsons並打印出索引的每個的1場...循環通過JSON數據和打印出使用Perl(不是哈希REF)
我開始用含有我的JSON一個生成的字符串數據。然後我解碼串並轉儲它顯示正是我的工作:
my $decoded = decode_json $string
print Dumper $string
這將導致以下的輸出:
$VAR1 = [
{
'hdr' => [
1,
'acknowledged',
'',
'/home/clanier/dev/test/sds-test/data/JPLIDR2015169.64575',
'2015/271-19:10:39.0101355',
'2015/271-19:10:39.2599252',
''
]
},
{
'hdr' => [
2,
'acknowledged',
'',
'/home/clanier/dev/test/sds-test/data/JPLIDR2015169.64575',
'2015/271-19:10:39.3928414',
'2015/271-19:10:39.6397269',
''
]
},
{
'hdr' => [
3,
'acknowledged',
'',
'/home/clanier/dev/test/sds-test/data/JPLIDR2015169.64575',
'2015/271-19:10:39.7726375',
'2015/271-19:10:40.0162758',
''
]
}
];
現在我嘗試遍歷這個和打印字承認爲每一個:
foreach my $hdr ($decoded->{hdr}) {
print $hdr->[1];
}
我看着this solution尋求幫助,但它似乎我甚至不能得到儘可能原來的海報,因爲「不是一個散列引用」錯誤。我能事先打印指定的一個,但我通過需要循環並打印所有的人。這對於該代碼:print $$decoded[0]->{'hdr'}->[1];