我正在尝试将数组转换为json:
$json = to_json("numbers_array" => \@numbers_array); print $json;
但我得到的输出是:
{"numbers_array" => ["1","2","3"] }
我正在使用push()添加元素来构建数组.如何转换为json并保留数字类型,以便输出为:
{"numbers_array" => [1,2,3]}
谢谢!
解决方法
从
JSON
documentation:
You can force the type to be a number by numifying it:
my $x = "3"; # some variable containing a string $x += 0; # numify it,ensuring it will be dumped as a number $x *= 1; # same thing,the choice is yours.
我会尝试这样的事情:
$json = to_json({numbers_array => [map { $_ + 0 } @numbers_array]}); print $json;