1

Jenkins 给了我来自http://jenkins.net/jobs/MyJob/lastBuild/api/json的 JSON

然后我使用 HTTParty 来获得它:

response = self.get( url, options )
change = response['changeSet']['items'][0]

这给了我最后更改的内容。change.class 返回“哈希”。如果我试试这个:

change = response['changeSet']['items'][0]['revision']

正如查看 JSON 所暗示的那样,我得到“NilObject 上的未定义方法'[]'”。

我究竟做错了什么?

编辑3:

当然,问题出在用户和键盘之间。该方法首先在另一个 JSON 上调用,因为它正在轮询多个项目的更改,并且其中一个返回的 JSON 对象不包含这些键。哦!对不起。

4

1 回答 1

1

如果您遇到这种错误,您将按下一个空键,然后尝试使用它,就好像它已被填充一样。没有看到你的 JSON 是什么,很难说,但其中之一是失败的。您需要检查这些:

response['changeSet']
response['changeSet']['items']
response['changeSet']['items'][0]

如果其中任何一个最终出现,nil那么您可以查明问题所在。JSON 以任意结构返回,因此将一堆调用链接在一起而不进行任何类型的测试可能会导致麻烦。

于 2012-08-22T15:40:54.300 回答