2012-03-11 31 views
5

Làm thế nào để trả lời một máy chủ rack ruby ​​đơn giản với đối tượng JSON, cho phép giả định máy chủ mt là một cái gì đó như:Làm thế nào để phản ứng với định dạng JSON sử dụng của Ruby Kệ middleware

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

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

và cho phép giả định thay vì một số văn bản thân tôi muốn một đối tượng JSON với một cái gì đó như:

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

}

Cảm ơn

Trả lời

15

Bao gồm "json" viên ngọc trong dự án của bạn, và sau đó gọi #to_json trên Hash:

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

Lưu ý rằng nil được phiên dịch sang null trong JSON, nếu bạn cần null.

+0

hoàn hảo, đó chính xác là những gì tôi đang tìm kiếm. cổ vũ – Eqbal

Các vấn đề liên quan