【问题标题】:JSON breaking: using coldfusion regex to remove some quotes and double quotesJSON中断:使用coldfusion正则表达式删除一些引号和双引号
【发布时间】:2015-01-29 00:56:58
【问题描述】:

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

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

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

但无法修复,请指导我,谢谢

【问题讨论】:

  • 举个例子会更好。
  • 另外,代码的结果是什么?一个错误?结果与您的预期有何不同?
  • 什么版本的 ColdFusion?
  • 初始字符串是什么样的?它是一个有效的 JSON 字符串吗?
  • 如果能提供自己试过的json例子就更好了。

标签: regex json coldfusion


【解决方案1】:

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

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

但我不确定这是否会真正满足您的需求。这也将在不需要转义的地方转义双引号和单引号 - 例如围绕名称和值的引号。例如,JSON

[{"name":"value"}]

会变成

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

这肯定不是你想要的!相反,您需要确定双引号在双引号包围的字符串中的位置,并将它们转义(假设它们尚未转义)。我不确定 ColdFusion 正则表达式或任何正则表达式风格是否能胜任这项任务。相反,需要修复产生无效 JSON 的任何服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多