如何使用Ruby Rack中间件响应JSON格式

时间:2012-03-11 22:28:23

标签: ruby-on-rails ruby json rack middleware

如何使用JSON对象回复简单的ruby机架服务器,假设mt服务器是这样的:

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

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

并假设我想要一个JSON对象而不是一些正文文本,例如:

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

}

谢谢

1 个答案:

答案 0 :(得分:18)

包括" json"在项目中使用gem,然后在Hash上调用#to_json

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

请注意,如果您需要nilnull会在JSON中翻译为null