在Json中访问密钥 - Ruby

时间:2014-06-14 09:08:58

标签: ruby json key

我正在尝试访问此json

中的密钥“stamp_ids”

这是我的代码

def dload_stamps
        path = "#{JPATH}" + "#{URLS["stamps"]}" #the json
        content = @tools.get_decode(path); #fetch and decode the json
        content.each do |index|
            index.each do |indextwo|
                    indextwo.each do |stamp|
                        pp stamp
                end
            end
        end
    end

据我所知http://prntscr.com/3snxyf我无法访问“stamp_id”

帮助?

1 个答案:

答案 0 :(得分:1)

您将需要JSON和Open-URI宝石,并且只需使用此代码片段将JSON解析为Ruby对象(在本例中为Ruby哈希数组):

require 'open-uri'
require 'json'
uri = "http://media1.clubpenguin.com/play/en/web_service/game_configs/stamps.json"


parsed_ruby_object = JSON.parse(open(uri).read)

然后你可以逐个浏览每个集合并获取标记(我刚刚写了一个例子来获取第一个数组:

parsed_ruby_object.first['stamps'].map do |member|
  member['stamp_id']
end

<强>编辑: 从每个数组中获取stamp_id:

parsed_ruby_object.map do |array_member|
  array_member['stamps'].map do |member|
    member['stamp_id']
  end
end.flatten

上面的代码将为您提供所有数组中的stamp_ids