ruby-on-rails - 我如何漂亮地将散列打印到 Rails View ?

标签 ruby-on-rails ruby json hash pretty-print

我有这样的东西:

{"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/

相关文章:

ruby-on-rails - Rails 按父 belongs_to 关联中的字段排序

java - 我在使用 ajax 将 json 数据发送到 Controller 时遇到问题

ruby-on-rails - Autoprefixer 不支持 Node v0.10.37 错误

ruby-on-rails - 为什么名为 'foo-test' 的任务会在 Rails 中抛出错误?

ruby-on-rails - Rails 应用程序需要每月执行一次任务

ruby - 鞋子中带有 "filter as you type"的下拉选择框

arrays - 能否使用 dig 方法获取数组的最后一个元素?

json - 从 HttpEntity 获取 JSON

java - GSON 库无法正确解析 JSON UTF-8,用 "?"替换重音

ruby-on-rails - Rails.cache.fetch 异常 : TypeError (<ModelName> can't be referred to)