从Jenkins解析JSON,一次哈希,然后是零

时间:2012-08-22 14:59:57

标签: ruby json jenkins httparty

Jenkins从http://jenkins.net/jobs/MyJob/lastBuild/api/json

给我JSON

然后我使用HTTParty来实现它:

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

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

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

看着JSON建议,我在NilObject上得到“Undefined method'[]'。”

我做错了什么?

EDIT3:

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

1 个答案:

答案 0 :(得分:1)

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

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

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