在perl中将数组转换为json,获取字符串数组

Vij*_*ati 3 perl json

我正在尝试将数组转换为json:


   $json = to_json("numbers_array" => \@numbers_array);
   print $json;

但我得到的输出是:

  {"numbers_array" => ["1","2","3"] }

我正在使用push()添加元素来构建数组.如何转换为json并保留数字类型,以便输出为:

  {"numbers_array" => [1,2,3]}

谢谢!

hma*_*tt1 7

JSON文档:


您可以通过编号强制类型为数字:

   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.
Run Code Online (Sandbox Code Playgroud)

我会尝试这样的事情:

    $json = to_json({numbers_array => [map { $_ + 0 } @numbers_array]});
    print $json;
Run Code Online (Sandbox Code Playgroud)