从JSON字符串中转义特殊字符

时间:2014-02-04 19:52:37

标签: json coldfusion special-characters

我通过AJAX调用返回一个JSON字符串,然后将其传递给浏览器,但是当字符串中有特殊字符时它会中断。

是否有可以从JSON字符串中删除特殊字符的函数。

这是我的代码:

var stdepartmentJSON = ajaxGetDepartment(ID);
var jsonDept = jQuery.parseJSON(stdepartmentJSON).replace();

我使用ColdFusion作为服务器端语言。尝试使用JSStringFormat(),但它不起作用

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用SerializeJSON? SerializeJSON CF Docs

这应该以适当的JSON格式为您构造和转义数据。样品用法:

<cfset responseList = structNew()>
<cfset resposneList["foo"] = "bar">
<cfset resposneList["wammy"] = "bar">
<cfset resposneList["escapeMe"] = '\ " /'>

<cfset jsonResponse = SerializeJSON(responseList)>

将创建:

{"escapeMe":"\\ \" \/","wammy":"bar","foo":"bar"}

注意,当使用SerializeJSON时,如果使用点表示法将元素追加到结构中,则SerializeJSON将不会保留您的密钥大小写。例如:

<cfset responseList = structNew()>
<cfset responseList.foo = "bar">
<cfset responseList.wammy = "bar">
<cfset responseList.escapeMe = '\ " /'>

将输出:

{"ESCAPEME":"\\ \" \/","WAMMY":"bar","FOO":"bar"}