我有一个Rails应用程序,我正在尝试从解析的JSON哈希中呈现一个项目数组。
我当前的渲染语句如下所示
resp = JSON.parse(response.body)
render json: resp
我使用的是Typheous,这段代码对我不起作用:
resp = JSON.parse(response.body).fetch("item")
以下是JSON哈希(item
键有很多值,但我只是为了简洁而显示一个):
{
ebay: [{
findItemsByKeywordsResponse: [{
ack: [],
version: [],
timestamp: [],
searchResult: [{
count: "91",
item: [{
itemId: [ "321453454731" ]
}]
}]
}]
}]
}
如何从解析的JSON哈希中呈现项目数组?
答案 0 :(得分:1)
由于ebay
和findItemsByKeywordsResponse
键只有一个值(根据OP的评论),您可以通过执行此类操作来检索items
数组:
resp = JSON.parse(response.body)
resp[:ebay].first[:findItemsByKeywordsResponse].first[:searchResult].first[:item]
这将为您提供包含itemId
和任何其他键值对的哈希数组。
您希望包含.first
(或[0]
)的原因是因为根据解析的JSON响应,您的哈希包含一直嵌套到item
的哈希数组阵列。如果有多个searchResult
值,则您需要在获取item
数组之前对其进行迭代。