从JSON中获取数据

时间:2015-04-20 19:31:42

标签: ruby json

我一直在犯错误。

JSON中数据的路径是

["data"][i]["ip"]

其中i是索引。

我试过

json_obj.each do |obj|
  list << obj["data"[i]["ip"]
end

以便将值存储在列表数组中。我不断收到一些转换错误。有更好的方法吗?


  uri = URI.parse("SITE")
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  req = Net::HTTP::Get.new(uri.request_uri)
  req.basic_auth('USER', 'PASS')
  res = http.request(req)

  json_resp = JSON.parse(res.body)

  list = []

  json_resp.each do | obj |
   print obj["data"][0]["fqdn"]
  end

1 个答案:

答案 0 :(得分:1)

应为json_obj["data"].each

json_obj是一个哈希(或者像哈希一样)所以你需要传递密钥然后你可以访问数组json_obj [“data”]指向并使用它的每个方法。

正如@tadman所说,这个错误来自于Array.each不喜欢字符串索引,并经常发生在我身上......