【发布时间】:2022-01-15 06:46:55
【问题描述】:
正如标题所说,这是我的代码:
require 'json'
def import_csv
path = Rails.root.join('folder1', 'folder2', 'file.csv')
counter = 0
puts "inserts on table started..."
CSV.foreach(path, headers: true) do |row|
next if row.to_hash['deleted_at'] != nil
counter += 1
puts row.to_json #shows correct format
someModel = someModel.new(row.to_hash) #imports incorrect format of json with backslash in db
#someModel = someModel.new(row.to_json) #ArgumentError: When assigning attributes, you must pass a hash as an argument.
someModel.skip_callbacks = true
someModel.save!
end
puts "#{counter} inserts on table apps complete"
end
import_csv
我无法以正确的格式导入 CSV 文件。导入有效,但结构错误。
预期
{"data":{"someData":72}}
得到
"{\"data\":{\"someData\":72}}"
如何以正确的 JSON 格式导入它?
【问题讨论】:
标签: json ruby-on-rails ruby csv