将JSON显示为HTML

有关如何将JSON嵌入HTML格式的人性化可读风格格式的建议? 例如,当您在浏览器中查看XML时,大多数浏览器都会显示XML格式(缩进,适当的换行符等)。 我想为JSON取得相同的最终结果。

颜色语法突出显示将是一项奖励。

谢谢


您可以使用带有未格式化JSON的JSON.stringify函数。 它以格式化的方式输出它。

JSON.stringify({ foo: "sample", bar: "sample" }, null, 4)

这转过来

{ "foo": "sample", "bar": "sample" }

 {
     "foo": "sample", 
     "bar": "sample" 
 }

现在,数据是一种可读格式,您可以使用@A建议的Google Code Prettify脚本。 征收颜色代码。

值得补充的是,IE7和更旧的浏览器不支持JSON.stringify方法。


如果您故意为最终用户显示它,请将JSON文本包装在<PRE><CODE>标记中,例如:

<html>
<body>
<pre>
<code>
[
    {
        color: "red",
        value: "#f00"
    },
    {
        color: "green",
        value: "#0f0"
    },
    {
        color: "blue",
        value: "#00f"
    },
    {
        color: "cyan",
        value: "#0ff"
    },
    {
        color: "magenta",
        value: "#f0f"
    },
    {
        color: "yellow",
        value: "#ff0"
    },
    {
        color: "black",
        value: "#000"
    }
]

</code>
</pre>
</body>
</html>

否则,我会使用JSON查看器。


为了突出语法,请使用代码美化。 我相信这是StackOverflow用于代码高亮显示的内容。

  • 用代码块包装你的格式化的JSON,并给他们“漂亮的打印”类。
  • 在你的页面中包含prettify.js。
  • 确保文档的主体标签在加载时调用prettyPrint()
  • 您将以您在页面中布局的格式突出显示JSON语法。 看到这里的例子。 所以如果你有这样的代码块:

    <code class="prettyprint">
        var jsonObj = {
            "height" : 6.2,
            "width" : 7.3,
            "length" : 9.1,
            "color" : {
                "r" : 255,
                "g" : 200,
                "b" : 10
            }
        }
    </code>
    

    它看起来像这样:

    var jsonObj = {
        "height" : 6.2,
        "width" : 7.3,
        "length" : 9.1,
        "color" : {
            "r" : 255,
            "g" : 200,
            "b" : 10
        }
    }
    

    这对缩进没有帮助,但其他答案似乎解决了这个问题。

    链接地址: http://www.djcxy.com/p/48217.html

    上一篇: Display JSON as HTML

    下一篇: print JSON using JavaScript?