【发布时间】:2019-06-17 23:53:00
【问题描述】:
我正在处理 JSON 数据。使用httparty gem 从 URL 获取 JSON 数据效果很好。现在我想迭代哈希数据对象并存储在 SQLite 数据库中。
# HTTParty response
@sett = {
"restaurant_name": "Restaurant 3",
"address": "xyz address",
"country": "United States",
"currency": "USD",
"client_key": "12345",
"client_name": "Client 3"
}
我想像这样将这个 JSON 数据存储在数据库中:
+-----------------+---------------+
| meta_key | meta_value |
+-----------------+---------------+
| restaurant_name | abc restatant |
| country | USA |
| ... | ... |
+-----------------+---------------+
def index
require 'httparty'
@setting = HTTParty.get(
'http://codekyt.in/froodle-wp/wp-json/data/v2/projects?client_key=12345',
headers: { 'Content-Type' => 'application/json' }
)
@sett = @setting.parsed_response
@sett.each_key do |key, value|
m = Setting.new
m.meta_data = key
m.meta_value = value
m.save
end
end
它以数组而不是散列的格式存储。
在数据库中,
t.string :meta_data
t.string :meta_value
【问题讨论】:
-
您可以使用
t.json :meta_data进行 json 数据存储, -
非常感谢@ray
-
也许对 rails-5 有效:P
标签: ruby-on-rails json ruby httparty