我在尝试提取foursquare2 gem响应字段时遇到问题。这是我的代码:
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."
我希望获得一些 tips.firstName 来获取这些值,但它不起作用。我应该更喜欢REST API吗?!
先谢谢你们,伙计们。
在评论后编辑
我按照建议提供的解决方案:
tips.groups[0].items.each{|i| puts i.firstName}
但它不起作用。我刚收到错误:data_scraping_fq.rb:16:<main>': undefined method
[]'为nil:NilClass(NoMethodError)
答案 0 :(得分:1)
tips.firstName
将无效。当您使用Foursquare API资源管理器时,请查看JSON响应,您将看到要获取提示提交者的名字,您需要查看`tips.items