Json Can';在使用“严格引用”时,不要使用字符串(“设备名称”:“iPhone Simulato…”)作为数组引用
我有以下结构,它在变量my@json_device=getDeviceId($Session->{id})中返回 正在显示的结构如下所示Json Can';在使用“严格引用”时,不要使用字符串(“设备名称”:“iPhone Simulato…”)作为数组引用,json,perl,Json,Perl,我有以下结构,它在变量my@json_device=getDeviceId($Session->{id})中返回 正在显示的结构如下所示 $VAR1 = [{"device_name":"device1","device_id":"device_id1"},{"device_name":"device2","device_id":"device_id2"}] 我使用下面的代码遍历数组引用并获取“device\u name”和“device\u id”值 但是我得到了下面的eror 在使用“st
$VAR1 = [{"device_name":"device1","device_id":"device_id1"},{"device_name":"device2","device_id":"device_id2"}]
我使用下面的代码遍历数组引用并获取“device\u name”和“device\u id”值
但是我得到了下面的eror
在使用“strict refs”时,不能将字符串(“[{”device_name:“iPhone Simulato…”)用作数组引用
谁能解释一下出了什么问题吗?似乎
getDeviceId
不返回Perl数据,而是返回JSON字符串。您必须转换它:
use JSON;
# ..
my $json_device = getDeviceId($Session->{id});
my $aref = decode_json($json_device);
并按如下方式更改for循环?对于我的$arefs($aref){对于我的$href(@$arefs){warn$href->{device_-name};warn$href->{device_-uuid};}
use JSON;
# ..
my $json_device = getDeviceId($Session->{id});
my $aref = decode_json($json_device);