Ruby 如何提取Foursquare2Gem结果(Hashie::Mash)

Ruby 如何提取Foursquare2Gem结果(Hashie::Mash),ruby,api,gem,foursquare,Ruby,Api,Gem,Foursquare,我在尝试提取Foursquare2Gem响应字段时遇到了一个问题。这是我的密码: require 'foursquare2' client = Foursquare2::Client.new(:client_id => 'XYZ', :client_secret => 'XYZ') tips = client.venue_tips('4d169843b15cb1f7f4c4ae21') 然后我得到了结果: #<Hashie::Mash count=8 i

我在尝试提取Foursquare2Gem响应字段时遇到了一个问题。这是我的密码:

   require 'foursquare2'

   client = Foursquare2::Client.new(:client_id => 'XYZ', :client_secret => 'XYZ')

   tips = client.venue_tips('4d169843b15cb1f7f4c4ae21')
然后我得到了结果:

#<Hashie::Mash count=8 items=[#<Hashie::Mash     canonicalUrl="https://foursquare.com/item/4f689747e4b04ab624cce6d3" createdAt=1332254535   done=#<Hashie::Mash count=1> id="4f689747e4b04ab624cce6d3" lang="pt" likes=#<Hashie::Mash count=2 groups=[#<Hashie::Mash count=2 items=[#<Hashie::Mash bio="" contact=#<Hashie::Mash> firstName="Pedro" gender="male" homeCity="Recife, Brasil" id="19761425" lastName="T." photo="https://is1.4sqi.net/userpix_thumbs/G5R14BT031K2B2AX.jpg" tips=#<Hashie::Mash count=25>>, #<Hashie::Mash bio="" contact=#<Hashie::Mash> firstName="Nat\u00E1lia" gender="female" homeCity="Recife, Brasil" id="12706383" lastName="S."
photo="https://is0.4sqi.net/userpix_thumbs/UF0Q0OZFWNQLXRFG.jpg" tips=#<Hashie::Mash count=1>>] type="others">] summary="2 likes"> text="Nova padaria com bons  produtos, destaque para as formadas de p\u00E3o \u00E0 tarde."

但它不起作用。我刚刚得到错误:data_scraping_fq.rb:16:in
':对于nil:NilClass(NoMethodError)

提示,未定义的方法
[]'。当您使用Foursquare API explorer时,请查看JSON响应,您将看到要获取提示提交者的名字,您需要查看“tips.items”

您能澄清您的问题吗?在您的问题中,您已检索到提示列表,例如,
tips.items[0]。firstName
应返回“Pedro”@NeilSlater是的,问题是它应该,但不要。问题是:我无法在Hashie::Mash中获取数据。我想得到每个字段的值。希望有帮助。“它不起作用”不是一个问题描述。你需要更具体、更具体;我们在这里看不到你的屏幕,也看不懂你的心思。@KenWhite谢谢你的建议。我在“它不工作”之后立即添加了错误消息。不管怎么说,我在想怎样才能更具体一些。谢谢你@octopi。我试着按照你的建议去做,但仍然没有任何积极的结果。我做了“tips.groups[0].items.each{| I | put I.firstName}”,但似乎错了。无论如何,谢谢你,我会继续尝试。@gfm tips.items.each,我不确定你从哪里获得“组”,这是没有必要的。
tips.groups[0].items.each{|i| puts i.firstName}