4

在哪里可以找到用于将 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'} %>",
                            },
%     }
                           ]
             },
% }
            ];

有这个模块吗?

4

4 回答 4

15

JSON 代表 JavaScript Object Notation,这是您正在寻找的格式。

不幸的是,您要查找的模块都不在 Perl 核心中,但它们在 CPAN 上可用,快速搜索就会发现。

我实际上建议安装JSON::Any作为包装器,以及JSON::XS(如果你有 C 编译器)或JSONJSON::Syck之一,如果你没有的话。JSON::Any在其他几个 JSON 模块之上提供了一个接口类(您可以选择,或者让它从已安装的内容中选择),这与​​您最终使用的模块无关。这样,如果您的代码需要移植到其他地方,并且(例如)目标机器可以在您不能安装 JSON::XS 时安装,那么您无需任何额外代码即可获得性能提升。

use JSON::Any;

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

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

像这样。

于 2008-09-25T18:48:05.763 回答
7

查看JSONJSON::XS

更详细地说,JSON 是“JavaScript Object Notation”,上面的两个模块将 perl 数据结构转换为该格式。

于 2008-09-25T17:20:27.970 回答
0

JSON

该模块使用 JSON::XS 或 JSON::PP 将 Perl 数据结构转换为 JSON,反之亦然。

于 2008-09-25T17:20:56.033 回答
0

JSON模块将转换数据结构——它基本上是一个 to/from JSON 序列化程序。

于 2008-09-25T17:21:43.660 回答