"4fe89779e4b09fd3748d3c5a", "name"=>"Hitcrowd", "contac-6ren">
gpt4 book ai didi

ruby - 如何从此 Ruby 散列中提取值?

转载 作者:太空宇宙 更新时间:2023-11-03 17:37:36 25 4
gpt4 key购买 nike

我正在使用 Foursquare API,我想从这个散列中提取“id”值

[{"id"=>"4fe89779e4b09fd3748d3c5a", "name"=>"Hitcrowd", "contact"=>{"phone"=>"8662012805", "formattedPhone"=>"(866) 201-2805", "twitter"=>"hitcrowd"}, "location"=>{"address"=>"1275 Glenlivet Drive", "crossStreet"=>"Route 100", "lat"=>40.59089895083072, "lng"=>-75.6291255071468, "postalCode"=>"18106", "city"=>"Allentown", "state"=>"Pa", "country"=>"United States", "cc"=>"US"}, "categories"=>[{"id"=>"4bf58dd8d48988d125941735", "name"=>"Tech Startup", "pluralName"=>"Tech Startups", "shortName"=>"Tech Startup", "icon"=>"https://foursquare.com/img/categories/shops/technology.png", "parents"=>["Professional & Other Places", "Offices"], "primary"=>true}], "verified"=>true, "stats"=>{"checkinsCount"=>86, "usersCount"=>4, "tipCount"=>0}, "url"=>"http://www.hitcrowd.com", "likes"=>{"count"=>0, "groups"=>[]}, "beenHere"=>{"count"=>0}, "storeId"=>""}] 

当我尝试使用 ['id'] 提取它时,出现此错误 can't convert Symbol into Integer。如何使用 ruby​​ 提取值?另外,如何对每次提取“id”值的多个哈希执行此操作?

请原谅我的经验不足。谢谢!

最佳答案

它被包裹在一个数组中,这就是 [] 在开始和结束时的意思。但它看起来也像这个数组中只有一个对象,这是你真正想要的散列。

所以假设你想要这个数组中的第一个对象:

mydata[0]['id'] # or mydata.first['id'] as Factor Mystic suggests

但通常当一个 API 返回一个数组时是有原因的(它可能返回许多结果而不是一个),并且天真地从中提取第一个项目可能不是你想要的。因此,在将其硬编码到您的应用程序之前,请确保您获得了您真正期望的数据类型。

关于ruby - 如何从此 Ruby 散列中提取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11804716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com