加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读