2010-05-20 9 views
5

Tengo una acción de controlador que devuelve datos JSON para fines de API, y en gran cantidad. Quiero poder inspeccionarlo en el navegador y dejarlo sangrado para el espectador. Por ejemplo, si mis datos estánRieles: ¿cómo puedo mostrar JSON bien sangrado?

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

Quiero ver

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

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

    ...etc 
} 

En la vista.

Pensé en usar diferentes rutas para llegar al mayor/datos bastante:

# 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 

alguien sabe de una joya/plugin que hace esto o algo similar? Intenté usar JSON.pretty_generate, pero parece que no funciona dentro de los rieles (2.3.5). Gracias.

Respuesta

3

Esto sólo funcionará con Firefox, pero suponiendo que sólo tiene bastante JSON para usted u otros desarrolladores ayudar durante el desarrollo que debe salir el complemento JSONView para Firefox (que ha hecho mi vida más fácil):

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

Si desea tener una json bonita disponible para todos los usuarios independientemente del navegador, no tengo una buena solución para ofrecer.

+2

https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc Aquí tienen algo similar para Chrome. Esto es lo que uso regularmente y lo encuentro bastante útil. –

3

puede utilizar este

render json: JSON.pretty_generate(data) 
+0

Hice JSON.pretty_generate (user.attributes) donde el usuario es un objeto ActiveRecord. –

+1

puede usar user.to_json –

+0

Exactamente lo que estaba buscando. ¡Gracias amigo! – detj

0

jsonpp es una gran herramienta de línea de comandos para el formato JSON (bastante impresión).

Puede canalizar su JSON en él:

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