require 'httparty'Json = httparty.get('http://API.dribbble.com/players/simplebits') #=> {"shots_count":150,"twitter_screen_name":"simplebits","avatar_url":"http://dribbble.com/system/users/1/avatars/thumb/dancederholm-peek.jpg?1261060245","name":"Dan Cederholm","created_at":"2009/07/07 21:51:22 -0400","location":"Salem,MA","following_count":391,"url":"http://dribbble.com/players/simplebits","draftees_count":104,"ID":1,"drafted_by_player_ID":null,"followers_count":2214}
我希望能够这样做:
Json.shots_count
并输出:
150
我怎么可能这样做?
解决方法 你绝对应该使用类似Json [“shots_counts”]的东西,但如果你真的需要客观化的哈希,你可以为此创建一个新类:class ObjectifIEdHash def initialize hash @data = hash.inject({}) do |data,(key,value)| value = ObjectifIEdHash.new value if value.kind_of? Hash data[key.to_s] = value data end end def method_missing key if @data.key? key.to_s @data[key.to_s] else nil end endend
之后,使用它:
oJson = ObjectifIEdHash.new(httparty.get('http://API.dribbble.com/players/simplebits'))oJson.shots_counts # => 150总结
以上是内存溢出为你收集整理的在Ruby中自动将JSON对象映射到实例变量全部内容,希望文章能够帮你解决在Ruby中自动将JSON对象映射到实例变量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)