我从URL获取REST响应数据。然后我将它写入JSON文件,然而,它将它放在一个长字符串中,我需要在JSON文件中以可读格式存储它。Ruby API - JSON解析 - 写入文件
我的代码是:
require 'rubygems'
require 'json'
require 'rest-client'
class Rest
def self.getData
response = RestClient.get 'http://jsonplaceholder.typicode.com/posts'
response = JSON.parse(response)
File.open('/Users/robertreed/RubymineProjects/draft/posts.json', 'w') do |f|
f.write(response.to_json)
end
puts response
end
getData
end
它打印到控制台,并在一行上写JSON文件:
[{"userId"=>10, "id"=>100, "title"=>"at nam consequatur ea labore ea harum", "body"=>"cupiditate quo est a modi nesciunt}]
我如何能做到这一点有什么建议?
如果您将JSON保存为“漂亮的格式”,为了让人们编辑它,您应该改用YAML。它更可读。在应用程序之间传输数据时,JSON非常棒,但为了便于阅读,将其格式化可以真正增加文件大小,使其使用更多的CPU,更多的网络带宽和应用程序时间。 –
不要命名一个类“休息”。 “RestResponse”会更好,因为类应该是“事物”。而不是'getData',你应该使用'get_data'。在Ruby中,我们使用snake_case命名变量和方法。不要在一个块中使用“open”和“write”,只需使用File.write('file.txt',response.to_json)'。 –
这听起来像是一个很好的建议,我不确定我会用什么JSON加入一个新的QA团队,而且我只使用xml来保存参数。但被告知要仔细研究它。 – Speedychuck