2012-03-11 25 views
5

Cómo responder un simple servidor de bastidor rubí con objeto JSON, supongamos servidor de MT es algo así como:Como respuesta con formato JSON usando Rubí rack middleware

app = Proc.new do |env| 
    [200, { 'Content-Type' => 'text/plain' }, ['Some body']] 
end 

Rack::Handler::Thin.run(app, :Port => 4001, :threaded => true) 

y deja para asumir en lugar de algún texto del cuerpo que quiero un objeto JSON con algo como:

{ 
"root": [ 
    { 
     "function": null 
    } 
] 

}

Gracias

Respuesta

15

Incluir la gema "json" en su proyecto, y luego llamar a #to_json en el Hash:

app = Proc.new do |env| 
    [200, { 'Content-Type' => 'application/json' }, [ { :x => 42 }.to_json ]] 
end 

Tenga en cuenta que nil se traduce a null en el JSON, si necesita null.

+0

perfecto, eso es exactamente lo que estoy buscando. aclamaciones – Eqbal

Cuestiones relacionadas