这是有问题的字符串:
var string = "{\"CMD\":\"<a href=\"someurl.com\">link</a>\"}";
当我取消引号(网址除外)和validate时,它似乎有效:
{
"CMD": "<a href=\"someurl.com\">link</a>"
}
但它破坏了我的Javascript程序。
编辑:还尝试过双重转义。第一个双引号似乎逃脱了,但不是第二个:
{
"CMD": "<a href=\\"someurl.com\\">link</a>"
}
违规代码:
webSocket.send("{\"CMD\":\"<a href=\\\"link.com\\\">link</a>\"}");
答案 0 :(得分:4)
为什么不使用单个'
,如下所示
{
"CMD": "<a href='someurl.com'>link</a>"
}
'
相当于引用HTML属性值的"
。这样JSONLint就可以验证它。
这两个HTML相同/相同。
<a href='someurl.com'>link</a>
<a href="someurl.com">link</a>
答案 1 :(得分:0)
href属性有额外的"
。你需要双重逃避它:
"{\"CMD\":\"<a href=\\\"someurl.com\\\">link</a>\"}"
答案 2 :(得分:0)
像这样改变:
{ "CMD": "<a href=\"someurl.com\">link</a>" }
&#13;