我有一组User类要保存为json文件。
users = []
users << User.new('john', 'smith', 55)
File.open("users.json", "w") do |f|
f.write(JSON.pretty_generate(users)
end
问题是用户没有被JSON限制,它保存到文件中:
[
"#<User:0x000000101010eff40>",
..
]
另外,我如何将这个json文件读回一个集合?
答案 0 :(得分:1)
问题是,您的用户变量仍然是ActiveRecord对象的数组。你需要将它们转换成json。
users = []
users << User.new('john', 'smith', 55)
File.open("users.json", "w") do |f|
f.write(JSON.pretty_generate(users.to_json)
end
答案 1 :(得分:0)
如其他答案中所述,您可以使用users.to_json
将对象转换为json字符串。
要将此json文件读回对象,您可以从文件中读取字符串并使用JSON.parse(str)
,其中str
是读取的字符串。这将返回用户对象的集合作为哈希。