使用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。