我正在尝试读取多个JSON文件并将它们合并到ruby文件中。以下是我目前的工作原理:
require 'json'
file = File.read(File.dirname(File.expand_path(__FILE__)) + '/../attributes.json')
default.merge! JSON.parse(file)
现在,如果我有以下目录结构,其中attributes.json是:
attributes.json
Prod
-JSON1.json
-JSON2.json
Test
-JSON1.json
-JSON2.json
如何在一个ruby文件上完成读取所有这些JSON文件?我假设某种递归循环但我无法弄明白。
答案 0 :(得分:0)
我想出了我的答案。这是我最终做的事情:
Find.find('/path/to/directory/') do |f|
next if File.extname(f) != ".json"
file = File.read(f)
default.merge! JSON.parse(file)
end
我使用了Find
来搜索任何目录中的文件,然后传递它没有.json
扩展名的文件ID。