Rails - Как я могу отобразить хорошо с отступом JSON? - PullRequest
6 голосов
/ 20 мая 2010

У меня есть действие контроллера, которое возвращает данные JSON для API-приложений, и их достаточно. Я хочу быть в состоянии проверить это в браузере, и чтобы он был приятно выделен для зрителя. Например, если мои данные

data = { :person => { :id => 1, :name => "john doe", :age => 30 }, :person => ... }

хочу посмотреть

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

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

    ...etc
}

По мнению.

Я думал об использовании разных маршрутов для получения объемных / красивых данных:

# 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

Кто-нибудь знает гем / плагин, который делает это или что-то подобное? Я пытался использовать JSON.pretty_generate, но он не работает внутри рельсов (2.3.5). спасибо.

Ответы [ 4 ]

4 голосов
/ 17 ноября 2010

Использовать JSON.pretty_generate (объект)

http://flori.github.com/json/doc/classes/JSON.html#method-i-pretty_generate

3 голосов
/ 16 мая 2013

Вы можете использовать это

render json: JSON.pretty_generate(data)
3 голосов
/ 21 мая 2010

Это будет работать только с Firefox, но при условии, что вам просто нужен симпатичный json, чтобы помочь вам или другим разработчикам во время разработки, вы должны проверить дополнение JSONview для Firefox (оно сделало мою жизнь проще):

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

Если вы хотите, чтобы симпатичный json был доступен для всех пользователей независимо от браузера, у меня нет хорошего решения.

0 голосов
/ 20 мая 2013

jsonpp - отличный инструмент командной строки для форматирования (приятной печати) JSON.

Вы можете передать свой JSON в него:

curl -s -L http://t.co/tYTq5Pu | jsonpp
...