我使用ruby版本2.0.0,我有一个demo.json看起来像这样的文件:
{ "demo":
{
"rama" : { "Name": "demo" },
"krishna" : { "Name": "hare","place": "bharat", "hawa": { "maina": "tota"} }
}
}
Run Code Online (Sandbox Code Playgroud)
现在我尝试通过这种方式操作json文件:
require 'json'
options = {}
options[:demo] = "kailash"
File.open("demo.json","w") do |f|
f.write(JSON.pretty_generate(options))
end
Run Code Online (Sandbox Code Playgroud)
我想替换一些值并在现有JSON文件中添加一些新的键值对,并且不想完全替换整个JSON文件.有没有办法做到这一点?
您必须先读取并解析文件,然后进行更改,最后可以使用更新的对象覆盖文件:
require 'json'
options = JSON.parse(IO.read('demo.json'))
options['demo']['kailash'] = { "Name" => "new" }
File.open("demo.json","w") do |f|
f.write(JSON.pretty_generate(options))
end
Run Code Online (Sandbox Code Playgroud)
输出文件:
{
"demo": {
"rama": {
"Name": "demo"
},
"krishna": {
"Name": "hare",
"place": "bharat",
"hawa": {
"main": "tota"
}
},
"kailash": {
"Name": "new"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
973 次 |
| 最近记录: |