在哪里可以找到将Perl数据结构转换为JavaScript的Perl模块?

时间:2020-03-06 14:44:06  来源:igfitidea点击:

在哪里可以找到将Perl数据结构转换为JavaScript的Perl模块?

例如这是我的代码(梅森):

% # convert our @cti data structure into a javascript one
  var cti = [
% foreach my $cti_category (@cti) {
             {
                 label: "<% $cti_category->{'label'} %>",
                 value: "<% $cti_category->{'value'} %>",
                 children: [
%     foreach my $cti_type (@{$cti_category->{'children'}}) {
                            {
                              label: "<% $cti_type->{'label'} %>",
                              value: "<% $cti_type->{'value'} %>",
                            },
%     }
                           ]
             },
% }
            ];

是否有用于此的模块?

解决方案

查看JSON或者JSON :: XS。

为了进一步说明,JSON是" JavaScript Object Notation",并且上面的两个模块将perl数据结构转换为该格式。

JSON!

This module converts Perl data structures to JSON and vice versa using either JSON::XS or JSON::PP.

JSON模块将转换它基本上是与JSON序列化器之间的数据结构。

JSON代表JavaScript Object Notation,这是我们要寻找的格式。

不幸的是,我们要查找的模块都不在Perl内核中,但是可以在CPAN上找到它们,快速搜索将发现这些模块。

我实际上建议安装JSON :: Any作为包装器,以及JSON :: XS(如果我们具有C编译器),或者安装JSON和JSON :: Syck中的一种(如果没有)。 JSON :: Any在其他几个JSON模块(我们可以选择或者从安装的版本中选择)之上提供一个接口类,该类与最终使用的模块无关。这样,如果代码需要移植到其他地方,并且(例如)目标计算机可以在无法安装JSON :: XS的情况下进行安装,那么无需任何其他代码即可提高性能。

use JSON::Any;

my $j = JSON::Any->new;

$json = $j->objToJson($perl_data);

像这样