这是JSON:
{ "expression" : "Hello World",
"message" : "Hello<br>World. I'm trying also to write <something> inside greater than and lower than signs."
},
这是jQuery:
$(".info").append(obj[i].message);
这是HTML:
<div class="info"></div>
我得到的是“&lt;”里面的一切和“&gt;”未显示在div中。
答案 0 :(得分:4)
这与JSON无关。
如果给它一个字符串,append
方法会解释你将它作为HTML标记提供的内容。很自然地,<
字符必须被编码为<
,就像在HTML中一样。只需对其进行编码,append
即可正常工作。
您提供的示例看起来像是标记,因为其中包含<br>
。问题是<something>
,它看起来像一个标签。它应该是<something>
或<something>
。
如果您希望将文字解释为文字而非HTML,则可以使用text
方法完全替换div
的内容:
$(".info").text(obj[i].message);
...或者在您的代码尝试当前时附加到它:
$(".info").append($("<span>").text(obj[i].message).html());