ruby-on-rails – 如何通过ruby中的破解访问转换为哈希的JSON中的数据?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何通过ruby中的破解访问转换为哈希的JSON中的数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下是破解文档中的示例:

json = '{"posts":[{"title":"Foobar"},{"title":"Another"}]}'
Crack::JSON.parse(json)
=> {"posts"=>[{"title"=>"Foobar"},{"title"=>"Another"}]}

但是,我如何实际访问哈希中的数据?

我尝试过以下方法

array = Crack::JSON.parse(json)
array["posts"]

array [“posts”]显示所有值,但我尝试了数组[“posts”] [“title”]并且它不起作用.

以下是我要解析的例子:

{"companies"=>[{"city"=>"San Mateo","name"=>"Jigsaw","address"=>"777 Mariners Island Blvd Ste 400","zip"=>"94404-5059","country"=>"USA","companyId"=>4427170,"activeContacts"=>168,"graveyarded"=>false,"state"=>"CA"}],"totalHits"=>1}

我想访问公司下的各个元素……比如城市和名字.

解决方法

像这样?

hash = {
  "companies" => [
    {
      "city"           => "San Mateo","name"           => "Jigsaw","address"        => "777 Mariners Island Blvd Ste 400","zip"            => "94404-5059","country"        => "USA","companyId"      => 4427170,"activeContacts" => 168,"graveyarded"    => false,"state"          => "CA"
    }
  ],"totalHits" => 1
}

hash['companies'].each{ |i| 
  puts "city => #{i['city']}"
  puts "name => #{i['name']}" 
}
# >> city => San Mateo
# >> name => Jigsaw

hash['companies'][0]['city'] # => "San Mateo"
hash['companies'][0]['name'] # => "Jigsaw"

问题是你没有考虑公司指向的阵列.

猜你在找的Ruby相关文章