【问题标题】:Escape special characters # & ' " in a string in Coldfusion在 Coldfusion 中转义字符串中的特殊字符 # & '"
【发布时间】:2017-12-01 10:45:35
【问题描述】:

关注主题AngularJS - Special Characters in JSON and Coldfusion Request 我得出的结论是问题不是来自 ANGULARJS 或我的 JSON 语法。这肯定是 Coldfusion 的问题。

提醒一下,我正在尝试使用 JSON 字符串在带有 ColdFusion 的数据库中执行 INSERT。我正在使用组件中定义的函数来执行此操作。

我的函数将字符串作为参数。

这里是使用的字符串示例:

jsStruct={"LASTNAME":"Nämé","FIRSTN%a£öME":"TestFirstName","PHONENUMBER":48484488,"EMAIL":"tes.test@test.test","COMPANY":"Test & Comp"}

我的字符串是正确的,JSON 的结构没问题。

在我的 Coldfusion 组件“component.cfc”中:

    <cffunction name="myfunction" access="remote" returnformat="JSON" output="no">    
        <cfargument name="jsStruct" type="string" required="true">
        <cfset var cfStruct=DeserializeJSON(jsStruct)>

        ..................

    </cffunction>   

我在使用字符串时在服务器上收到此错误,因为在我的字符串中有特殊字符。例如 "COMPANY":"Test & Comp":

JSON parsing failure: Unexpected end of JSON string


The error occurred in ../contacts.cfc: line 267

265 :       <cfargument name="jsStruct" type="string" required="true">
266 : 
267 :       <cfset var cfStruct=DeserializeJSON(jsStruct)>

您能否帮我解决这个问题并防止(转义)ColdFusion 和 Oracle 使用的特殊字符为 &、#、'、" 等?

【问题讨论】:

  • 另一个主题解决了服务器端的问题。我只得出结论,AngularJs 和 JSON 语法都不是问题。现在我想用 Coldfusion 解决这个问题。
  • 您使用的是哪个版本的 ColdFusion?
  • jsStruct={"LASTNAME":"Nämé",... 不是 JSON“字符串”,而是声明为 CF 结构。一个字符串将在我们的双引号中,如下所示: jsStruct='{"LASTNAME":"Nämé","FIRSTN%a£öME":"TestFirstName","PHONENUMBER":48484488,"EMAIL":"tes.test @test.test","COMPANY":"Test & Comp"}'。您收到的错误是因为您在对象上使用 DeserializeJSON(),而不是 JSON 字符串/结构。
  • 您使用的是哪个版本的 ColdFusion?您的示例似乎有效trycf.com/gist/604b27bea4ea3ce5cfab67cf49845bf8/…

标签: coldfusion escaping special-characters


【解决方案1】:

你说错了,

我的函数将字符串作为参数。 这里使用的字符串示例:

*jsStruct={"LASTNAME":"Nämé","FIRSTN%a£öME":"TestFirstName","PHONENUMBER":48484488,"EMAIL":"tes.test@test.test","COMPANY":"Test & Comp"}*

您自己称其为结构,这是正确的。它不是一个字符串。

使用类似的东西:

jsonString='{"LASTNAME":"Nämé","FIRSTN%a£öME":"TestFirstName","PHONENUMBER":48484488,"EMAIL":"tes.test@test.test","COMPANY":"Test & Comp"}';

【讨论】:

    猜你喜欢
    • 2011-05-11
    • 2011-05-07
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 2021-01-09
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多