我是API主题的新手。我已经从API中显示了JSON,阅读了大量的文档,我理解了如何将JSON密钥转换为ruby符号的想法,但我不明白如何实际执行它。我试过......
1)使用法拉第的方式。
2)使用JSON.parse
3)使用symbolize_keys:true
......和其他东西。
我的代码现在看起来像什么。我还评论了我尝试过的方式,所以你可以看到。
class ProductsController < ApplicationController
require 'json'
def index
@products = Product.find(:all) # GET 'http://api.example.com/store/products.json'
products = Faraday.new(:url => 'http://api.example.com') do |faraday|
faraday.request :url_encoded
faraday.response :logger
faraday.adapter Faraday.default_adapter
end
#GET
response = products.get '/store/products.json'
response.body
products.get '/store', { :name => 'Koala' }
# @products = JSON.parse(@products, symbolize_keys: true)
end
end
当前输出只是一个JSON字符串。我怎么解析这个?
Flowers99.0Guitar10.99Love20.0Penguin500.0Koala1000.0[...]
HTML
= @products.each do |product|
tr
td = product.name
td = product.price
答案 0 :(得分:3)
使用symbolize_names
而不是symbolize_keys
。 symbolize_keys
是Rails方法。
方法如下:
JSON.parse(@products, symbolize_names: true)
有关更多信息,请参见: