Rails - 如何显示缩进的JSON?

sa1*_*125 6 json ruby-on-rails pretty-print

我有一个控制器动作,为api目的返回JSON数据,还有很多.我希望能够在浏览器中检查它,并为观众提供良好的缩进.例如,如果我的数据是

data = { :person => { :id => 1, :name => "john doe", :age => 30 }, :person => ... }
Run Code Online (Sandbox Code Playgroud)

我想看看

{ "person" : 
    { 
        "id"   : 1, 
        "name" : "john doe",
        "age"  : 30,
    }, 

   "person" : 
    { 
        "id"   : 2, 
        "name" : "jane doe",
        "age"  : 31,
    },

    ...etc
}
Run Code Online (Sandbox Code Playgroud)

在视图中.

我想过使用不同的路径来获取批量/漂亮的数据:

# GET /api/json
# ...
respond_to do |format|
  format.html { render :json => data.to_json }
end

# GET /api/json/inspect
# ...
respond_to do |format|
  format.html { render :text => pretty_json }
end
Run Code Online (Sandbox Code Playgroud)

任何人都知道这样或类似的宝石/插件?我尝试使用JSON.pretty_generate,但它似乎不适用于rails(2.3.5).谢谢.

Jar*_*les 3

这仅适用于 Firefox,但假设您只需要漂亮的 json 来帮助您或其他开发人员在开发过程中,您应该查看 Firefox 的 JSONview 插件(它让我的生活更轻松):

https://addons.mozilla.org/en-US/firefox/addon/10869/

如果你想为所有用户提供一个漂亮的 json,无论浏览器如何,我没有一个好的解决方案可以提供。

  • https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc 这里有类似的 Chrome 内容。这是我经常使用的,我发现它非常有用。 (2认同)