【发布时间】:2018-11-08 19:55:15
【问题描述】:
我有一个我无法控制的函数,它返回一个实际上是哈希的字符串。它看起来像下面这样:
{"offset":0,"limit":500,"count":0,"virtual_machines":[]}
我需要检查计数是否大于 0。因为输出是字符串而不是哈希,所以我正在尝试拆分字符串并从中获取输出。
相同的sn-p如下:
my $output = '{"offset":0,"limit":500,"count":0,"virtual_machines":[]}';
$output =~ s/ +/ /g;
my @words = split /[:,"\s\/]+/, $output;
print Dumper(@words);
这个的输出是:
$VAR1 = '{';
$VAR2 = 'offset';
$VAR3 = '0';
$VAR4 = 'limit';
$VAR5 = '500';
$VAR6 = 'count';
$VAR7 = '0';
$VAR8 = 'virtual_machines';
$VAR9 = '[]}';
现在,我可以获取 $VAR7 的值并获取计数。
有没有办法将字符串转换为哈希,然后使用键来获取值,而不是使用正则表达式和拆分。谁能帮帮我!
【问题讨论】: