gpt4 book ai didi

json - 如何将变量作为方法传递给 Perl 哈希引用?

转载 作者:行者123 更新时间:2023-12-02 21:57:19 25 4
gpt4 key购买 nike

首先,请更正我在标题和正文中关于我所说的各种 Perl 语言结构的语言!

我在将变量传递给哈希引用时遇到问题。具体来说,我使用 JSON 模块来解码一些 JSON 数据,然后访问该数据的特定部分。

这是我的 JSON 数据的示例:

[
{
label:"Blah",
data:[
[ 2112, 1 ]
]
}
]

现在这是我的 Perl 代码:

use JSON;
use Data::Dumper;
my $json = "*JSON data above*";
my $decoded_json = decode_json($json);

# This works, prints out '2112':
print( Dumper( $decoded_json->[0]{'data'}[0][0] ));

# What I'd like to do:
$datapath = "[0]{'data'}[0][0]";
print( Dumper( $decoded_json->$datapath ));

有办法做到这一点吗?谢谢!

最佳答案

虽然可以使用 eval 来做到这一点,但这种方法存在问题。

我怀疑这是解决您的根本问题的更好答案:

use Data::Diver;
my @datapath = ( 0, 'data', 0, 0 );
print( Dumper( Data::Diver::Dive($decoded_json, @datapath) ));

关于json - 如何将变量作为方法传递给 Perl 哈希引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17530120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com