JSON破解:使用coldfusion正则表达式删除一些引号和双引号

时间:2015-01-29 00:56:59

标签: regex json coldfusion

我在这里疯了,试图在我的json响应中删除一些引号和双引号,

有一些字符也像句号,逗号等,我正在尝试这样

<cfset mystring = rereplace(mystring, '(['""])', '\\\1', 'all') /> 

但无法解决,请指导我谢谢

1 个答案:

答案 0 :(得分:1)

我认为问题在于你将正则表达式模式字符串用单引号括起来,然后转义该字符串中的双引号,而不是单引号。您可以尝试以下方法:

<cfset mystring = rereplace(mystring, "(['""])", "\\\1", "all") />

但我不确定那会真正做你想要的。这也将逃避双引号和单引号,它们不需要转义 - 例如名称和值周围的引号。例如,JSON

[{"name":"value"}]

会变成

[{\"name\":\"value\"}]

当然这不是你想要的!相反,您需要确定双引号在双引号包围的字符串中的位置,并将其转义(假设它们尚未转义)。我不确定ColdFusion正则表达式,或任何正则表达式的风格,都取决于该任务。相反,无论什么服务产生无效的JSON都需要修复。