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

我正在尝试将数组转换为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;

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...