首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以漂亮的打印方式将JSON.stringify输出到div

以漂亮的打印方式将JSON.stringify输出到div
EN

Stack Overflow用户
提问于 2013-06-01 01:22:02
回答 12查看 305.5K关注 0票数 232

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中?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2013-06-01 01:30:29

请使用<pre>标签

演示:http://jsfiddle.net/K83cK/

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>

票数 575
EN

Stack Overflow用户

发布于 2013-06-01 01:26:08

确保JSON输出在<pre>标记中。

票数 35
EN

Stack Overflow用户

发布于 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));
    }
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16862627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档