【发布时间】:2022-01-23 18:34:46
【问题描述】:
我正在构建一个简单的“学校图书馆”应用程序以在终端中运行,并将我的大部分文件构建为类。现在我想存储收到的数据,如书名、作者、教师姓名等,我想将其存储在 JSON 文件中。
当我想使用 Ruby 编写文件时,问题就出现了,我执行 File.write("path_to_my_file", data) 并且它正在写入 JSON 文件,但它没有写入我想要的内容。
而不是写
[
"Title": "My title",
"Author": "My author"
]
或类似的东西,我得到了
["#<ActualBook:0x00000237dbce9ec8>, #<ActualBook:0x00000237dbdg3r8>"]
其中“ActualBook”是我创建新书的班级名称。 我不知道如何实现这一点。 我试过这段代码但没有运气:
class Storing
def initialize(arr)
@books = arr
end
def stores_data
data = []
@books.each do |book|
data.push([book.title, book.author])
end
send = JSON.dump(data)
if !File.exist?("./data/books.json")
File.new("./data/books.json", "w+")
end
File.write("./data/books.json", data)
end
end
有什么想法吗?
【问题讨论】: