Perl JSON如何获得密钥的价值

时间:2016-04-25 18:20:36

标签: json perl

我有以下json输出,我试图获取启用的值

{  
   "_id":"sensor1",
   "_returned":1,
   "_embedded":{  
      "rh:doc":[  
         {  
            "_id":{  },
            "enabled":"true"
         }
      ]
   }
}

我试过以下

foreach my $x ( @{$vsConfig}) {
    print $x;
}

我不确定为什么它没有返回任何内容,它不是哈希引用吗?

谢谢

1 个答案:

答案 0 :(得分:3)

假设$vsConfig是在解码json之后获得的散列引用:

print $vsConfig->{_embedded}->{'rh:doc'}->[0]->{enabled}

整个代码,包括解码json的部分:

use strict;
use warnings;
use JSON qw/decode_json/;

my $json = q|
{  
   "_id":"sensor1",
   "_returned":1,
   "_embedded":{  
      "rh:doc":[  
         {  
            "_id":{  },
            "enabled":"true"
         }
      ]
   }
}
|;

my $vsConfig = decode_json( $json );

print $vsConfig->{_embedded}->{'rh:doc'}->[0]->{enabled};