私は次のようなものを持っています:
{"a":"1","b":"2","c":"3","asefw":"dfsef"}
ビューで印刷したい。それを行う最善の方法は何ですか?
JSONオブジェクトとしてパースして使ってみJSON.stringify
たのですが、どうやらインデントがおかしくなりそうです。
何かアドバイス?JavaScript ソリューションは気にしません。
私は次のようなものを持っています:
{"a":"1","b":"2","c":"3","asefw":"dfsef"}
ビューで印刷したい。それを行う最善の方法は何ですか?
JSONオブジェクトとしてパースして使ってみJSON.stringify
たのですが、どうやらインデントがおかしくなりそうです。
何かアドバイス?JavaScript ソリューションは気にしません。
どうですか:
require 'json'
hash = JSON['{"a":"1","b":"2","c":"3","asefw":"dfsef"}']
puts JSON.pretty_generate(hash)
どの出力:
{
"a": "1",
"b": "2",
"c": "3",
"asefw": "dfsef"
}
JSON.pretty_generate
ブラウザに送信するJSONを実際に生成するときに頼りにするツールというよりも、デバッグツールです。「きれいな」側面は、空白が追加されているため「肥大化」および「遅い」ことも意味しますが、構造の内容を診断および理解するのに適しているため、ニーズに適している可能性があります。
覚えておくべきことの 1 つは、HTML がブラウザーによってレンダリングされると、空白がむさぼり食われるため、空白の実行が消えるということです。これを避けるには<pre>
、空白と改行を保持するために JSON 出力をブロックでラップする必要があります。このようなものが動作するはずです:
<pre>
{
"a": "1",
"b": "2",
"c": "3",
"asefw": "dfsef"
}
</pre>
irb(main)> puts queried_object.pretty_inspect
PrettyPrintから、これがrequire 'pp'
機能するために最初に必要になる場合があります。
これは、Rails.logger
出力などにも最適です。
<%= raw JSON.pretty_generate(hash).gsub(" "," ") %>
gem awesome_printを試すことができます 非常にうまく機能し、ビューで書き込みます
<%= ap(your_hash, plain: true, indent: 0).html_safe %>
また、スタイルの構成の値をハッシュ ビューに変更することもできます。