Ruby 使用JSON将哈希数组写入文件?
目前我正在这样做:Ruby 使用JSON将哈希数组写入文件?,ruby,arrays,json,hashmap,Ruby,Arrays,Json,Hashmap,目前我正在这样做: 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(broke
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" | Write-only, truncates existing file
| to zero length or creates a new file for writing.
-----+--------------------------------------------------------
"w+" | Read-write, truncates existing file to zero length
| or creates a new file for reading and writing.
“w”|仅写,截断现有文件
|设置为零长度或创建新文件以进行写入。
-----+--------------------------------------------------------
“w+”|读写,将现有文件截断为零长度
|或者创建一个新文件进行读写。
我将更像这样编写代码:
bad_links = []
brokenLink = {
:onPage => @lastPage,
:link => @nextPage
}
bad_links << brokenLink
File.write(arrayFilePath + 'badLinks.txt', bad_links.to_json)
坏链接=[]
断开链接={
:onPage=>@lastPage,
:link=>@nextPage
}
坏链接什么是badLinksFile
和badLinks
?分别是一个文件和一个数组?请在代码中显示它们,以及如何打开badLinksFile
@theTinMan该编辑更有意义吗?我知道你以前帮过我。这是同一个项目。我试图记录一个访问过的URL列表,发现断开的链接,在que中找到要检查的URL。使用我当前的程序,我需要在开始时读取一个文件,并且每100个链接重写一组文件。酷。很高兴我能帮忙。我很好奇为什么要将JSON写入文件?通常,当我们处理成功/失败连接的记录时,我们使用数据库。模式由您决定,但我们肯定可以帮助您了解如何构建它。对于这类东西,数据库比磁盘上的文件要好得多。我愿意接受任何建议。给我指出一个好的起点。我开始使用json的原因是它似乎很容易使用。mySQL?我没有数据库方面的经验。你能帮我一个起点吗?看看,然后用SQLite做实验。这是一个很好的起点。自述和备忘都充满了信息。