我在这里疯了,试图在我的json响应中删除一些引号和双引号,
有一些字符也像句号,逗号等,我正在尝试这样
<cfset mystring = rereplace(mystring, '(['""])', '\\\1', 'all') />
但无法解决,请指导我谢谢
答案 0 :(得分:1)
我认为问题在于你将正则表达式模式字符串用单引号括起来,然后转义该字符串中的双引号,而不是单引号。您可以尝试以下方法:
<cfset mystring = rereplace(mystring, "(['""])", "\\\1", "all") />
但我不确定那会真正做你想要的。这也将逃避双引号和单引号,它们不需要转义 - 例如名称和值周围的引号。例如,JSON
[{"name":"value"}]
会变成
[{\"name\":\"value\"}]
当然这不是你想要的!相反,您需要确定双引号在双引号包围的字符串中的位置,并将其转义(假设它们尚未转义)。我不确定ColdFusion正则表达式,或任何正则表达式的风格,都取决于该任务。相反,无论什么服务产生无效的JSON都需要修复。