一尘不染

如何以正确的格式写入JSON文件

json

我正在Ruby中创建哈希,并希望以正确的格式将其写入JSON文件。

这是我的代码:

tempHash = {
    "key_a" => "val_a",
    "key_b" => "val_b"
}
fJson = File.open("public/temp.json","w")
fJson.write(tempHash)
fJson.close

这是结果文件的内容:

key_aval_akey_bval_b

我正在使用Sinatra(不知道哪个版本)和Ruby v 1.8.7。

如何以正确的JSON格式将其写入文件?


阅读 343

收藏
2020-07-27

共1个答案

一尘不染

需要JSON库,并使用to_json

require 'json'
tempHash = {
    "key_a" => "val_a",
    "key_b" => "val_b"
}
File.open("public/temp.json","w") do |f|
  f.write(tempHash.to_json)
end

您的temp.json文件现在看起来像:

{"key_a":"val_a","key_b":"val_b"}
2020-07-27