我正在尝试将JSON字符串解析为数组引用:

my $str = '[[2],[1]]';
my $data = map { $_->[0] } @{decode_json( $str )};

但这使其成为标量。我可以:
my $str = '[[2],[1]]';
my @data = map { $_->[0] } @{decode_json( $str )};
my $data = \@data;

但这不是我想的那么短。有什么帮助吗?

最佳答案

怎么样:

my $str = '[[2],[1]]';
my $data = [map {$_->[0]} @{decode_json($str)}];

关于perl - 更改 map 返回的上下文?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/942437/

10-15 00:59