我将下面这段RestClient返回给Ruby请求:
{"importResults":[{"status":"success","id":"ed2a89538d84eff5b92b5baad1fb5a4e"}]}我正在尝试检索状态(success)和id (ed2a89538d84eff5b92b5baad1fb5a4e)。
我尝试了以下代码:
jdoc = JSON.parse(jsonAbove)
status = jdoc.fetch("importResults").fetch("status")这将返回错误TypeError: can't convert String into Integer。
我知道这是因为在响应中有一个数组,所以我得到了这个错误,但我似乎不能正确地得到它。
发布于 2012-05-19 00:51:16
你需要
status = jdoc.fetch("importResults").first.fetch("status")发布于 2012-05-19 00:51:12
正如许多其他人已经说过的那样,您的请求中需要first。
status = jdoc.fetch("importResults").first.fetch("status")看起来你是个新手。我建议使用irb来摆弄东西。例如,您可以输入s = jdoc.fetch("importResults")并查看结果。然后,您可以在控制台中尝试使用s变量,看看什么是有效的。s.first、s.class、s[0]等。
发布于 2012-05-19 00:50:15
对,所以它是一个数组。获取它的第一个(或另一个合适的)元素,然后继续。
status = jdoc.fetch("importResults").first.fetch("status")
# ^^https://stackoverflow.com/questions/10656646
复制相似问题