【发布时间】:2009-10-14 19:16:46
【问题描述】:
以下代码始终使用双斜杠打印路径:
use JSON;
use File::Spec;
my $installdir = $ENV{"ProgramFiles"};
my $xptrlc = File::Spec->catfile($installdir,"bin","sample");
my $jobhash;
my $return_packet;
$jobhash->{'PATH'} = $xptrlc;
$return_packet->{'JOB'} = $jobhash;
my $js = new JSON;
my $str = $js->objToJson($return_packet);
print STDERR "===> $str \n";
这个脚本的输出是
===> {"JOB":{"PATH":"C:\\Program Files (x86)\\bin\\sample"}}有什么解决方案可以删除那些双 \\ 斜杠吗?
【问题讨论】:
-
如果你删除它们,它就不再是正确的 JSON
-
使用 Javascript 解析此输出时是否出错?
-
'JavaScript' ne 'Java' -
它应该显示一个斜杠。但请注意,这与 Java 无关。它是 JavaScript 对象表示法。
-
脚本的“输出”就是我喜欢称之为“正确”的东西。如果要输出不正确的数据,我推荐
perl -e 'print chr rand 255 for 1..100'。短得多。