从Javascript对象到Ruby的JSON
我正在将一个对象从Javascript发送到Sinatra POST路由。我正在使用“stringify”方法将我的js对象转换为JSON。发送的JSON是这样的(根据chrome中的开发工具): 我在Sinatra的路线设置如下:从Javascript对象到Ruby的JSON,javascript,jquery,ruby,json,sinatra,Javascript,Jquery,Ruby,Json,Sinatra,我正在将一个对象从Javascript发送到Sinatra POST路由。我正在使用“stringify”方法将我的js对象转换为JSON。发送的JSON是这样的(根据chrome中的开发工具): 我在Sinatra的路线设置如下: post '/results' do results = JSON.parse(params.to_json, symbolize_names: true) end 一旦解析JSON,我就不知道如何访问Ruby中的键。有没有更好的方法,我是否遗漏了什么?您
post '/results' do
results = JSON.parse(params.to_json, symbolize_names: true)
end
一旦解析JSON,我就不知道如何访问Ruby中的键。有没有更好的方法,我是否遗漏了什么?您应该能够像关联数组一样访问它:
results["a"]
results["b"]
...
我认为,如果您在
POST
正文中发送JSON
,您应该从request.body
访问它,而不是从params
(请参见此问题:):
当我尝试这样访问它时,我得到了nil。@jmcharnes尝试删除symbol_names参数。
results["a"]
results["b"]
...
post '/results' do
request.body.rewind
results = JSON.parse(request.body.read, symbolize_names: true)
end