JSONを人間が読める形式にフォーマットしたHTMLページに埋め込む方法に関する推奨事項はありますか?たとえば、ブラウザーでXMLを表示すると、ほとんどのブラウザーはフォーマットされたXML(インデント、適切な改行など)を表示します。JSONでも同じ結果が欲しいのですが。
カラー構文の強調表示はおまけです。
ありがとう
JSONを人間が読める形式にフォーマットしたHTMLページに埋め込む方法に関する推奨事項はありますか?たとえば、ブラウザーでXMLを表示すると、ほとんどのブラウザーはフォーマットされたXML(インデント、適切な改行など)を表示します。JSONでも同じ結果が欲しいのですが。
カラー構文の強調表示はおまけです。
ありがとう
回答:
フォーマットされていないJSONでJSON.stringify関数を使用できます。フォーマットされた方法で出力します。
JSON.stringify({ foo: "sample", bar: "sample" }, null, 4)
これは回る
{ "foo": "sample", "bar": "sample" }
に
{
"foo": "sample",
"bar": "sample"
}
これで、データは読み取り可能な形式になり、Google Code Prettifyを使用できます提案スクリプトを。それを色分けする課税。
意図的にエンドユーザーに表示する場合は、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.stringify(jsonObj, null, ' ')
つのスペースでそれを美化します。私はこれが遅いことを知っていますが、このヒントが役立つと思いました。
構文の強調表示には、コードprettifyを使用します。StackOverflowがコードの強調表示に使用するのはこれだと思います。
prettyPrint()
読み込み時にドキュメントのbodyタグが呼び出されることを確認してくださいページにレイアウトした形式で、構文が強調表示された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
}
}
私はあなたがこのようなものを意味したと思います: JSON Visualization
使用するかどうかはわかりませんが、作者に尋ねるかもしれません。
これは軽量ソリューションで、OPが要求したことだけを実行し、強調表示だけを含め、他には何もしません。JavaScriptを使用してJSONをきれいに出力するにはどうすればよいですか?
JSON2HTMLを使用して、適切にフォーマットされたHTMLリストに変換することができます。
SyntaxHighlighterは、JavaScriptで開発された完全に機能する自己完結型のコード構文ハイライターです。SyntaxHighlighterの機能を理解するには、デモページをご覧ください。
JSONをXMLに、またはその逆に変換するjavasriptツールを次に示します。これにより、読みやすさが向上します。次に、スタイルシートを作成して色を付けるか、HTMLに完全に変換します。
http://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html
あなたの最善の策は、このためにバックエンド言語のツールを使用することです。どの言語を使用していますか?Rubyの場合は、json_printerを試してください。