将目录中的整个文件替换为ruby中URL端点的文件

时间:2015-08-31 18:44:36

标签: ruby json

我们说我的工作目录中有以下文件:

path/to/my/file/fileToBeReplaced.json

我在以下URL端点有一个文件:

mywebsite.com/fileToCopy.json

我想在URL端点(fileToCopy.json)获取文件并获取其中的内容以覆盖我的工作目录(fileToBeReplaced.json)中的文件。在将文件写入工作目录时,保留json格式也很重要。如何在Ruby脚本中完成?

1 个答案:

答案 0 :(得分:2)

您可以这样做:

require 'net/http'

File.open("path/to/my/file/fileToBeReplaced.json", "w") do |f|
   f.write Net::HTTP.get('mywebsite.com', '/fileToCopy.json')
end

如果您的URL中的JSON格式不正确,那么您可以尝试这样的事情:

require 'net/http'
require 'json'

File.open("path/to/my/file/fileToBeReplaced.json", "w") do |f|
   json_str = Net::HTTP.get('mywebsite.com', '/fileToCopy.json')
   json_hash = JSON.parse(json_str)
   f.puts JSON.pretty_generate(json_hash)
end