什么是正确的方法将hashesh的数量写入json文件,以后可以有效地解析。 e.g:
hash1 = {:a=>1,:b=>'foo'}
hash2 = {:c=>3,:b=>'bar'}
...
hashN = {...}
File.open("data.json", "a") { |io| io.write(hash1.to_json)}
我可以在文件的每个哈希之后写一个逗号,但这对我来说并不好看..这是一个更好的方法吗?
答案 0 :(得分:3)
可以在以后有效地解析。
您需要将哈希值放在一个列表中,以便以后可以在一次扫描中加载和解析所有内容:
require 'json'
arr = []
arr << {:a=>1,:b=>'foo'}
arr << {:c=>3,:b=>'bar'}
json_str = arr.to_json
File.open("yourfile", 'w') { |file| file.write(json_str) }
稍后加载:
contents = File.read('yourfile')
arr = JSON.parse(contents)