替换关于perl中的javascript函数的双引号

时间:2013-12-06 12:26:32

标签: regex perl cgi

我使用cgi来读取javascript对象(JSON),其中javascript函数用双引号括起来,我的要求是删除任何此类javascript函数周围的引号。

例如:

"value" : "helloWorld('hello')"

以上是密钥值对的摘录,我需要在替换操作后得到类似的内容。

 "value" : helloworld('hello')

因此,最终结果必须从javascript函数中删除引号。我正在使用perl进行cgi编程,并希望得到相同的答案。

1 个答案:

答案 0 :(得分:0)

您无需删除任何内容。 JSON :: XS或您喜欢的任何JSON解析器将返回helloworld('hello')以获取该键的值。

use JSON::XS qw( decode_json );
my $json = q{{"value" : "helloworld('hello')"}};
say decode_json($json)->{value};    # helloworld('hello')

您需要做的就是编写一个类似于encode_json的函数,以您希望的格式输出,而不是JSON(即不带引号的适当值)。

然后,您的代码将是:

print encode_myformat(decode_json($json));