【发布时间】:2017-05-26 19:43:22
【问题描述】:
我编写了一个小脚本,它循环我当前的 Jsonfile,但无法附加键和值。
这是我的文件
[
{
"URL": "https://p59-caldav.icloud.com",
}
]
我想像这样附加一个键和值
[
{
"URL": "https://p59-caldav.icloud.com",
"test": "test"
}
]
我当前的脚本设置
#!/usr/bin/env ruby
require 'rubygems'
require 'json'
require 'domainatrix'
jsonHash = File.read("/Users/ReffasCode/Desktop/sampleData.json")
array = JSON.parse(jsonHash)
File.open("/Users/BilalReffas/Desktop/sampleData.json","w") do |f|
array.each do |child|
url = Domainatrix.parse(child["URL"])
json = {
"url" => child["URL"],
"provider" => url.domain,
"service" => url.subdomain,
"context" => url.path,
"suffix" => url.public_suffix
}
f.write(JSON.pretty_generate(json))
end
end
脚本覆盖了我的整个 jsonfile...这不是我想要的:/
【问题讨论】:
-
您确实需要在此处修复缩进,因为我认为您对循环内部的内容和不存在的内容感到困惑。
-
您必须覆盖原件。您无法轻松安全地追加、插入或修改磁盘上的 JSON(或一般的文本文件)。