当前位置: 首页 > 工具软件 > JSON::XS > 使用案例 >

python perl模块_用Python将Perl模块转换为JSON

龚奇逸
2023-12-01

似乎您需要使用Perl脚本(或一个行程序)来阅读本文,然后导出正确的JSON。在

首先,显示的内容不是有效的Perl。我将假设一些基本的语法错误的错误。在

在mylist前面还有一个丢失的%;在Perl中,变量名以sigil开头,%表示哈希。我会假设这是一个遗漏张贴,但它在那里。如果没有,你就得解决这个问题。在

然后让我使用一个文件data.pm,例如%mylist = (

blah => {

other => 9,

houses => 1,

etc => [ { etc => '5', ppl => '3' }, { etc => '9', ppl => '5' } ]

}

);

这是一个简短的已发布数据示例,其中修复了一些拼写错误。在

下面是一个Perl脚本,可以从中生成JSON。它使用do将文件作为脚本执行,从而将数据结构(哈希)读入程序。然后JSON::PP

模块用于从中生成JSON,因为它应该安装在使用Perl的系统上。在

^{pr2}$

整个工作是在前两行完成的。JSON::PP是一个核心模块(since v5.14),但如果外部依赖不是问题,请使用JSON,如果安装了fastJSON::XS,则使用它。在

这很好地符合一个班轮perl -MJSON::PP -wE'say encode_json { do "./data.pm" }' > data.json

其中输出被重定向到文件。在

程序和一行程序输出(为了可读性而换行){"blah":{"other":"9","houses":"1","etc":

[{"ppl":"3","etc":"5"},{"ppl":"5","etc":"9"}]}}

写入的文件data.json的内容是什么。在

为此,.pm文件必须只包含一个有效的Perl数据结构。如果变量多于一个散列值,这将不起作用,因为do不会返回所有这些数据。那你就得用其他方法处理文件了。在

 类似资料: