Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Perl的JSON使用JSON.stringify字符串解码_JSON_Javascript_Json_Perl - Fatal编程技术网

Javascript Perl的JSON使用JSON.stringify字符串解码_JSON

Javascript Perl的JSON使用JSON.stringify字符串解码_JSON,javascript,json,perl,Javascript,Json,Perl,我有一个前端和后端脚本,它们彼此协作。JS类型的前端脚本对字符串数组执行JSON.stringify,并调用后端脚本对此字符串进行验证 Perl类型的后端脚本获取该字符串,并从Perl模块json中解码_json。此时,Perl脚本正在发出嘎嘎声 我认为问题与JSON.stringify返回的内容有关 JS: 返回以下内容: "[\"Flash\", \"WonderWoman\", \"BatMan\", \"SuperMan\", \"GreenLantern\", \"MartianMan

我有一个前端和后端脚本,它们彼此协作。JS类型的前端脚本对字符串数组执行JSON.stringify,并调用后端脚本对此字符串进行验证

Perl类型的后端脚本获取该字符串,并从Perl模块json中解码_json。此时,Perl脚本正在发出嘎嘎声

我认为问题与JSON.stringify返回的内容有关

JS:

返回以下内容:

"[\"Flash\", \"WonderWoman\", \"BatMan\", \"SuperMan\", \"GreenLantern\", \"MartianManHunter\", \"HawkWoman\"]"
验证上述字符串的Perl函数:

sub are_jl_members {
    my ($jl_string) = @_;
    print "<p>$jl_string</p>";

    # Failing here.  Why?
    my $jl = decode_json $jl_string;
    print Dumper([$jl]);        
}
谢谢您的帮助。

问题在于$jl\u字符串中的额外\。您的JSON.stringify调用完全正确

您如何在这里打印$jl_字符串

返回以下内容:

"[\"Flash\", \"WonderWoman\", \"BatMan\", \"SuperMan\", \"GreenLantern\", \"MartianManHunter\", \"HawkWoman\"]"
[\Flash\,\WonderWoman\,\BatMan\,\SuperMan\,\greenlantlent\,\MartianManHunter\,\HawkWoman\]


我认为这是一个输入错误,但您在第一个代码片段中混合了Perl和JavaScript;我可以通过JSON::decode_JSON毫无问题地运行这个字符串。我可以通过检查判断JSON.stringify的输出是正确的。你确定你获取解码_json的字符串的方式没有问题吗?你的意思是它实际上包括那些反斜杠转义引号?!