使用Perl遍历JSON数据并打印出一个字段(不是HASH引用)

Codenaugh

我需要遍历几个json并打印出每个的索引1 ...

我从生成的包含我的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];
}

我曾向该解决方案寻求帮助,但由于“不是HASH参考”错误,看来我什至不能达到原始海报的水平。我以前可以打印特定的纸,但是我需要遍历并打印所有纸。这是该代码:print $$decoded[0]->{'hdr'}->[1];

疾病

$decoded是数组引用,而不是哈希引用。您不能将其取消引用为哈希:->{

您可以将其作为数组取消引用:

for my $hdr (@$decoded) {
    print $hdr->{hdr}[1];
}

有关Perl中引用的更多信息,请参见perlreftut

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

perl:从包含对它的引用的哈希中打印一个字符串

对遍历数据结构的 linq 查询中的一个字段求和

如何阻止一个字母一个字母地打印出随机项目

不是只打印一个字母的所有字母,而是需要在输入的字母之后打印出每个字母

使用awk打印最后一个字段,然后使用$ NF打印第一个字段

Golang bson结构-在json中的单个字段中使用多个字段名称,但仅一个字段用于写入数据库

使用 powershell 遍历 XML 文件并将一个字段合并到另一个字段中

在golang中使用相同结构中的func引用另一个字段

在 C 中,如何打印出一个字符数组然后清空它?

如何用零填充打印出一个字符串?

从 C 中的字符数组打印出一个字符串

在 C 中打印出一个字节的值及其地址

从结构定义的数组中打印出一个字符串

如何构建其中一个字段引用另一个字段的结构

从前一个字段中提取数据

根据另一个字段的值验证 JSON 数据

从响应实体json获取一个字段

如何在Solr中使用另一个字段中一个字段的数据?

要从数据库而不是数据库的最后一个字段中搜索名称

在一个字段中输入数据并自动更新另一个字段

如何使用SQLite从数据库表中仅获取一个字段?

使用VBA宏从数据透视表中选择一个字段

使用Where子句在一个字段中更新大量数据

SSRS - 如何引用特定字段的值以便能够在另一个字段中使用它?

使用awk获取最后一个字段

如何使用一个字段进行mongoexport

将包含json的字段中的数据保存到数据库的另一个字段中

Json模式根据另一个字段验证一个字段的长度

使用 jq 将 JSON 中的一个字段合并到另一个 JSON