使用JSON将哈希数组写入文件?

目前我这样做:

badLinks = Array.new badLinksFile = File.new(arrayFilePath + 'badLinks.txt', 'w+') badLinksFile.puts badLinks.to_json 

数组badLinks包含哈希值,它是:

 brokenLink = Hash.new brokenLink[:onPage] = @lastPage brokenLink[:link] = @nextPage badLinks.push(brokenLink) 

当我查看文件时它是空的。 这有用吗?

要检查几件事:

 badLinksFile = File.new(arrayFilePath + 'badLinks.txt', 'w+') 

应该是'w'而不是’ w+ ‘。 从IO文档:

   “w”| 只写,截断现有文件
        | 为零长度或创建一个新文件进行写入。
   ----- + -------------------------------------------- ------------
   “w +”| 读写,将现有文件截断为零长度
        | 或创建一个新的文件进行读写。

我写的代码更像这样:

 bad_links = [] brokenLink = { :onPage => @lastPage, :link => @nextPage } bad_links << brokenLink File.write(arrayFilePath + 'badLinks.txt', bad_links.to_json) 

这没有经过测试,但它更有意义,而且是惯用的Ruby。