I JSON.stringify
a json object by
result = JSON.stringify(message, my_json, 2)
上面参数中的2
应该可以很好地打印出结果。如果我做像alert(result)
这样的事情,它就会这样做。但是,我希望通过将其附加到div中来将其输出给用户。当我这样做的时候,我只得到一行代码。(我认为它不起作用,因为分隔符和空格没有被解释为html?)
{ "data": { "x": "1", "y": "1", "url": "http://url.com" }, "event": "start", "show": 1, "id": 50 }
有没有办法将JSON.stringify
的结果以漂亮的打印方式输出到div中?
发布于 2013-06-01 01:30:29
请使用<pre>
标签
var data = {
"data": {
"x": "1",
"y": "1",
"url": "http://url.com"
},
"event": "start",
"show": 1,
"id": 50
}
document.getElementById("json").textContent = JSON.stringify(data, undefined, 2);
<pre id="json"></pre>
发布于 2013-06-01 01:26:08
确保JSON输出在<pre>
标记中。
发布于 2019-05-10 14:32:44
如果您的<pre>
标记显示单行JSON,因为字符串已经是这样提供的(通过api或一些不受控制的函数/页面),您可以将其重新格式化为:
HTML:
<pre id="json">{"some":"JSON string"}</pre>
JavaScript:
(function() {
var element = document.getElementById("json");
var obj = JSON.parse(element.innerText);
element.innerHTML = JSON.stringify(obj, undefined, 2);
})();
或jQuery:
$(formatJson);
function formatJson() {
var element = $("#json");
var obj = JSON.parse(element.text());
element.html(JSON.stringify(obj, undefined, 2));
}
https://stackoverflow.com/questions/16862627
复制相似问题