Javascript Can';当字符串包含src="&引用;或id=”或&引用;属性
执行此操作时,我可以使用$.parseJSON()Javascript Can';当字符串包含src="&引用;或id=”或&引用;属性,javascript,jquery,json,Javascript,Jquery,Json,执行此操作时,我可以使用$.parseJSON() var myString = '{ "Header": "<p>some content</p>"}'; var modelJsonObject = $.parseJSON(myString); 然后我在控制台中得到一个SyntaxError:意外的令牌 怎么办?由于JSON字符串以引号(“)开始和结束,因此字符串中的任何此类引号都必须转义,如下所示:\”因此仅由引号组成的JSON字符串将是“\” 但是还有JavaSc
var myString = '{ "Header": "<p>some content</p>"}';
var modelJsonObject = $.parseJSON(myString);
然后我在控制台中得到一个SyntaxError:意外的令牌
怎么办?由于JSON字符串以引号(
“
)开始和结束,因此字符串中的任何此类引号都必须转义,如下所示:\”
因此仅由引号组成的JSON字符串将是“\”
但是还有JavaScript的语法。在JS中写为“\”
的字符串会导致字符串“
(请尝试console.log(“\”)
),因为反斜杠在JS中有特殊意义,所以必须对其进行转义
综上所述,一个JSON字符串只包含一个用JS编写的引号,它是:
'"\\""'
总之,您的字符串必须这样写:
var myString = '{ "Header": "<p><img src=\\"http://placehold.it/50x50\\" style=\\"line-height: 1.3; width: 50px;\\"><br></p>"}';
// 1 2 3
var myString='{“Header”:“
”}”;
// 1 2 3
请注意,在JS中使用单引号可以避免对JS使用双引号,但JSON语法仍然必须正确。如果我们对字符串使用双引号,那么我们会得到一个非常有趣的结果:
"{ \"Header\": \"<p><img src=\\\"http://placehold.it/50x50\\\" style=\\\"line-height: 1.3; width: 50px;\\\"><br></p>\"}";
“{\”Header\”:\“
\”}”;
其中,
\\\”
是一个JS转义反斜杠(\\
),后跟一个JS转义引号(\“
),导致一个JSON转义引号。您所说的works示例将抛出一个语法错误。请给我们一个真实的例子。这可能与不正确转义的引号有关。
"{ \"Header\": \"<p><img src=\\\"http://placehold.it/50x50\\\" style=\\\"line-height: 1.3; width: 50px;\\\"><br></p>\"}";