【发布时间】:2012-08-22 07:46:35
【问题描述】:
我有一个包含 JSON 字符串的 rel 属性的元素,类似于:
rel='{"id":"#id#","name":"#name#"}'
然后,在我的 javascript 代码中,我使用 $.parseJSON 来解析这些数据。这可以正常工作 - 除了name 包含撇号的情况。我试过使用jsStringFormat,一个coldfusion replace,用转义的单引号等替换所有单引号,但我似乎无法找到正确的解决方案。我知道这可能很简单,但是如何让代码使用 json 正确传递带有撇号/单引号的值?
此代码有效,但消除了我想保留的撇号:
rel='{"id":"#id#","name":"#replace(name,"'","","all")#"}'
这不起作用:
rel='{"id":"#id#","name":"#replace(name,"'","\'","all")#"}'
也没有:
rel='{"id":"#id#","name":"#replace(name,"'","\\\'","all")#"}'
或者:
rel='{"id":"#id#","name":"#replace(name,"'",""","all")#"}'
或者:
rel='{"id":"#id#","name":"#jsStringFormat(name)#"}'
【问题讨论】:
-
要正确转义 HTML 属性中的双引号,请使用
" -
为什么不能直接使用serializeJson?
标签: jquery json coldfusion apostrophe