我通过AJAX调用返回一个JSON字符串,然后将其传递给浏览器,但是当字符串中有特殊字符时它会中断。
是否有可以从JSON字符串中删除特殊字符的函数。
这是我的代码:
var stdepartmentJSON = ajaxGetDepartment(ID);
var jsonDept = jQuery.parseJSON(stdepartmentJSON).replace();
我使用ColdFusion作为服务器端语言。尝试使用JSStringFormat(),但它不起作用
答案 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"}