How'd I go about converting Amazon's XML to JSON with Ruby on Rails and then parse it with OpenStruct?
raw_products = request.item_search(query: params)
hashed_products = raw_products.to_h
@products = []
hashed_products['ItemSearchResponse']['Items']['Item'].each do |item|
product = OpenStruct.new
product.name = item['ItemAttributes']['Title']
product.url = item['DetailPageURL']
product.image_url = item['LargeImage']['URL']
@products << product
end
- http://ift.tt/1n87nQW
- Live app: http://ift.tt/X3Y10r
Having little luck with this (undefined method 'to_sym' for #<Hash:0x000000028601f8>):
converted_products = JSON.parse(raw_products.to_json)
converted_products.map do |product|
product = OpenStruct.new(product)
product.name = item['ItemAttributes']['Title']
product.url = item['DetailPageURL']
image = product.images.find { |i| i["largeImage"] == 'URL' }
product.image = OpenStruct.new(image)
product
end
- New live app: http://ift.tt/1rXMASu
Example XML:
No comments:
Post a Comment