【问题标题】:Ruby - Iterate over parsed json with no hash nameRuby - 在没有哈希名称的情况下迭代解析的 json
【发布时间】:2014-12-01 02:09:20
【问题描述】:

所以我正在尝试使用 JIRA 的 REST API 来获取我们即将发布的发布时间表。从他们的 API 我可以得到返回的 JSON,如下所示:

[{
"self": "https://jira.company.com/rest/api/2/version/15701",
"id": "15701",
"description": "First release",
"name": "1.4.3",
"archived": false,
"released": true,
"releaseDate": "2013-02-28",
"userReleaseDate": "28/Feb/13",
"projectId": 10005
},
{
"self": "https://jira.company.com/rest/api/2/version/15685",
"id": "15685",
"description": "Second release",
"name": "1.4.5",
"archived": false,
"released": true,
"releaseDate": "2013-03-11",
"userReleaseDate": "11/Mar/13",
"projectId": 10005
}
]

所以我查看了网站上的其他答案,但我无法完全弄清楚我什么时候有一个没有标识符的块。例如这个问题,reddit 的 api 命名每个 json 对象,而 JIRA 没有。 Ruby - iterate over parsed JSON

我尝试了一些类似

的方法
json[''].each do |release|
    puts release['description']
end

但这就是我有点失落的地方。我放了 [''] 因为那里没有钥匙。我对 JSON 很陌生,所以我的术语可能在这里也很遥远......

【问题讨论】:

  • json.each do |release| 呢?
  • 发誓我试过了,但这似乎有效。等等,谢谢你的帮助!我觉得自己很傻哈哈

标签: ruby-on-rails ruby json


【解决方案1】:

当您解析该 JSON 字符串时,您将获得一个 Array 对象。

如果你写如下代码:

json.each do |release|
  puts release['self']
end

你应该看到这个输出:

https://jira.company.com/rest/api/2/version/15685
https://jira.company.com/rest/api/2/version/15701

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-07
    • 2011-11-24
    • 2016-07-27
    • 1970-01-01
    • 2012-03-27
    • 2022-11-02
    • 2012-03-23
    • 2019-11-16
    相关资源
    最近更新 更多