ruby-on-rails – 如何在Rails中访问JSON?
发布时间:2020-12-17 03:41:41 所属栏目:百科 来源:网络整理
导读:我有以下 JSON参数. Started POST "/tickets/move.json" for ::1 at 2015-01-30 15:30:13 -0600Processing by TicketsController#move as JSON Parameters: {"_json"=[{"id"="1","col"=1,"row"=1},{"id"="2","col"=2,"row"=2},{"id"="3",{"id"="4","col"=4,{
我有以下
JSON参数.
Started POST "/tickets/move.json" for ::1 at 2015-01-30 15:30:13 -0600 Processing by TicketsController#move as JSON Parameters: {"_json"=>[{"id"=>"1","col"=>1,"row"=>1},{"id"=>"2","col"=>2,"row"=>2},{"id"=>"3",{"id"=>"4","col"=>4,{"id"=>"5","col"=>5,"row"=>1}],"ticket"=>{}} 我如何访问它们,就像我使用常规的rails params一样? 解决方法
这是一个常规的params哈希. Rails通常足够智能解码JSON请求并将结果对象放在params中,而hashrockets(=>)是一个死的赠品,它是一个Ruby哈希而不是JSON.格式化得更好看起来像这样:
{ "_json" => [ { "id" => "1","col" => 1,"row" => 1 },{ "id" => "2","col" => 2,"row" => 2 },# ... ],"ticket" => {} } 您将像任何其他哈希一样访问它: p params["_json"] # => [ {"id"=>"1",# {"id"=>"2",# ... # ] p params["_json"][0] # => {"id"=>"1","row"=>1} p params["_json"][0]["id"] # => "1" p params["ticket"] # => {} 实际上它应该是HashWithIndifferentAccess,所以你也应该能够使用符号键: p params[:_json][0][:id] # => "1" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |