You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Perl的JSON::XS生成符合JS文件格式的对象代码?

适配JS对象格式的解决方案

方法一:使用专业模块生成JS格式

借助JavaScript::Value::Escape模块可以直接将Perl哈希转换为符合要求的JS对象格式,自动处理键名无引号、字符串值用单引号的规则。

  1. 安装模块
cpanm JavaScript::Value::Escape
  1. 示例代码
use JavaScript::Value::Escape;

my %hash = (
    info => ["test", "test2"],
    name => "test",
    uid => "1"
);

print js_escape(\%hash);

执行后输出的内容直接匹配目标JS格式:

{info:['test','test2'],name:'test',uid:'1'}

方法二:手动修改JSON输出(轻量方案)

如果不想新增模块依赖,可以先通过JSON::XS生成标准JSON,再用正则替换调整格式:

use JSON::XS;

my %hash = (
    info => ["test", "test2"],
    name => "test",
    uid => "1"
);

my $json_str = encode_json \%hash;
# 移除键名的双引号
$json_str =~ s/"([^"]+)":/$1:/g;
# 将字符串值的双引号替换为单引号
$json_str =~ s/":"/:'/g;
$json_str =~ s/",/,'/g;
$json_str =~ s/"\]/']/g;

print $json_str;

注意:这种方式仅适合数据无特殊字符(如引号、冒号)的场景,若哈希包含复杂内容,优先选择方法一的专业模块避免格式错误。

内容的提问来源于stack exchange,提问作者dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 02:45:34