将多个JSON文件合并到一个Ruby文件中

时间:2017-07-14 17:30:41

标签: json ruby

我正在尝试读取多个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文件?我假设某种递归循环但我无法弄明白。

1 个答案:

答案 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。