2

我正在解析 HTML 元素中包含的 JSON。

考虑这个标记:

<div id="1">
    {"string":["&quot;\u041a\u0410\u041a&quot;"]}
</div>

这个脚本:

var a = $.parseJSON($("#1").html())

​ 这会返回一个错误(“Uncaught SyntaxError: Unexpected token \”),因为&quots被方法转换成了"s html()

在这种情况下,如何让 jQuery 不解析 HTML?$.text()也不行。还是我做错了什么?

jsFiddle:http: //jsfiddle.net/VJvpY/6/

编辑:请注意,错误将仅显示在控制台中。

EDIT2:我需要解析 JSON 并用它创建一个 JS 对象。

4

3 回答 3

0

如果您尝试将 JSON 显示为文本?你可以把它包在一个 pre

http://jsfiddle.net/VJvpY/5/

于 2012-06-26T16:20:38.687 回答
0

你不能不将 json 放在 textarea 中,这样浏览器就不会解析它(jQuery 不是搞乱你的引号的那个。)

但是,由于“/”,jquery 仍然无法解析您的 json,我不知道如何解决。即使逃脱了它们,它仍然不起作用。

http://jsfiddle.net/VJvpY/3/

于 2012-06-26T16:01:13.677 回答
0

我最终转义&了 JSON 服务器端的所有 s。

于 2012-06-26T17:04:20.060 回答