我正在使用亚马逊产品广告API,我正在我的控制器中修改其响应以呈现自定义的JSON,但其响应会根据产品类别发生很大变化,因此我需要编写可以捕获所有内容的代码它改变的方式。我只需要一些数据,那么我怎么能在亚马逊的API响应中检查这些部分是否存在,然后将它们包含在我自己的自定义JSON中呢?
注意:我正在使用this gem与Amazon的API集成。它在自己的对象中返回API响应。
@results = (Amazon's API response)
@custom_response = []
@results.items.each do |product|
@new_response = OpenStruct.new(
:id => product.asin,
:source => "amazon",
:title => product.title,
:price => @product_price,
:img_small => @images[0],
:img_big => @images[1],
:category => product.product_group,
:link => "http://amazon.com/" )
@custom_response << @new_response
end
答案 0 :(得分:1)
您可以尝试这样的事情: -
@new_response = OpenStruct.new(:source => "amazon", :link => ".....")
@new_response.id = product.asin if product.asin.present?
@new_response.title = product.title if product.title.present?
other attributes....