我在哪里可以找到一个Perl模块,用于将Perl数据结构转换为JavaScript

Where can I find a Perl module for converting a Perl data structure into a JavaScript one?

本文关键字:Perl 用于 模块 数据结构 JavaScript 转换 一个 在哪里      更新时间:2023-09-26

在哪里可以找到用于将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 代表 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);

这样。

查看 JSON 或 JSON::XS。

为了详细说明,JSON是"JavaScript对象表示法",上面的两个模块将perl数据结构转换为该格式。

JSON

模块将转换数据结构 - 它基本上是一个往返 JSON 序列化程序。

JSON !

该模块使用 JSON::

XS 或 JSON::P P 将 Perl 数据结构转换为 JSON,反之亦然。