逃避特殊字符#& '“在Coldfusion的一个字符串中

时间:2017-06-28 07:31:53

标签: coldfusion escaping special-characters

关注主题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&amp; 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使用的特殊字符&amp;,#,',“和其他人?

1 个答案:

答案 0 :(得分:0)

你错误地说,

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

*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"}';