有没有建议在HTML页面中嵌入JSON并以易于阅读的样式格式化JSON的方法?例如,当您在浏览器中查看XML时,大多数浏览器都会显示格式化的XML(缩进、正确的换行符等)。我希望JSON也能达到同样的效果。
语法高亮显示会是一个额外的加分项。
谢谢。
有没有建议在HTML页面中嵌入JSON并以易于阅读的样式格式化JSON的方法?例如,当您在浏览器中查看XML时,大多数浏览器都会显示格式化的XML(缩进、正确的换行符等)。我希望JSON也能达到同样的效果。
语法高亮显示会是一个额外的加分项。
谢谢。
你可以使用JSON.stringify函数来处理未格式化的JSON数据。它会以格式化的方式输出它。
JSON.stringify({ foo: "sample", bar: "sample" }, null, 4)
这会使
{ "foo": "sample", "bar": "sample" }
转化为
{
"foo": "sample",
"bar": "sample"
}
现在数据已经以可读格式呈现,您可以像@A. Levy建议的那样使用Google Code Prettify脚本对其进行着色编码。
值得注意的是,IE7及更早版本的浏览器不支持JSON.stringify方法。
<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.stringify(jsonObj, null, ' ')
将使用两个空格使它变得更美观。我知道现在已经晚了,但认为这个提示可能会有所帮助。 - hIpPy<pre><span>{JSON.stringify(data, null, ' ')}</span></pre>
- Rashid为了进行语法高亮,请使用code prettify。我相信这是 StackOverflow 用于代码高亮的工具。
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
}
}
这并不能帮助缩进,但是其他答案似乎在解决这个问题。
以下是一个轻量级的解决方案,只做 OP 要求的事情,包括高亮,但不做其他改变: 如何使用 JavaScript 进行 JSON 格式化输出?
如果你只是想从调试的角度来看,你可以使用 Firefox 插件,比如 JSONovich 来查看 JSON 内容。
目前正在测试中的新版 Firefox 将原生支持此功能(类似于 XML)。
SyntaxHighlighter 是一个完全功能的自包含代码语法高亮器,使用 JavaScript 开发。如果想了解 SyntaxHighlighter 的能力,请查看 演示 页面。
http://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html