我有这样的东西:
{"a":"1","b":"2","c":"3","asefw":"dfsef"}
我想在 View 中打印出来。最好的方法是什么?
我尝试将其解析为 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 时所依赖的工具。由于添加了空格,“漂亮”方面也意味着“臃肿”和“较慢”,但它有助于诊断和理解结构中的内容,因此它可能会很好地满足您的需求。
要记住的一件事是,当由浏览器呈现时,HTML 会吞噬空白,因此空白运行会消失。为避免这种情况,您必须将 JSON 输出包装在 <pre>
中。 block 以保留空格和换行符。这样的事情应该有效:
<pre>
{
"a": "1",
"b": "2",
"c": "3",
"asefw": "dfsef"
}
</pre>
关于ruby-on-rails - 我如何漂亮地将散列打印到 Rails View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17289399/