1

我有一个 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 哈希中呈现一组项目?

4

1 回答 1

1

ebay由于and键只有一个值(根据 OP 的评论),您可以通过执行以下操作findItemsByKeywordsResponse来检索数组:items

resp = JSON.parse(response.body)
resp[:ebay].first[:findItemsByKeywordsResponse].first[:searchResult].first[:item]

这将为您提供一个包含itemId和任何其他键值对的哈希数组。

您想要包含.first(or [0]) 的原因是因为基于解析的 JSON 响应,您的哈希包含一个哈希数组,一直嵌套到该item数组。如果有多个值,则需要在获取数组searchResult之前遍历这些值。item

于 2014-07-11T15:03:45.043 回答