我正在阅读大量的JSON对象文件,如下所示:
File.open('massive.json') do |file|
file.lazy.each_slice(BATCH_SIZE) do |lines|
lines.each do |line|
employee_data_hash = JSON.parse(line, symbolize_names: true)
add_employee(employee_data_hash)
end
end
end
事情就是这样,我发现为它编写正确的测试很棘手。此外,如果我的函数get_json_line
可以返回一行,每行有一个JSON对象,那么对我的项目的整体设计会更好。因此,我可以一次处理一行数据,不会造成任何内存问题。
我应该使用yield
吗?如果我使用yield
会对性能产生什么影响?