将 json 个对象添加到未命名的 json 个异议集中
Adding json object to unnamed set of json objections
我这里有一组 json 个对象。
[
{
"group": "GroupName1",
"name": "Name1",
"nick": "Nick1",
"host": "Hostname1",
"user": "user1",
"sshport": "22",
"httpport": "80"
},
{
"group": "GroupName2",
"name": "Name2",
"nick": "Nick2",
"host": "hostname2",
"user": "user2",
"sshport": "22",
"httpport": "80"
}
]
我有一个 CLI 脚本使用 raw_input 并构建一个包含新对象参数的新字典对象:
def main():
# CLI Input
group_in = raw_input("Group: ")
name_in = raw_input("Name: ")
nick_in = raw_input("Nick: ")
host_in = raw_input("Host: ")
user_in = raw_input("User: ")
sshport_in = raw_input("SSH Port: ")
httpport_in = raw_input("HTTP Port: ")
# New server to add
jdict = {
"group": group_in,
"name": name_in,
"nick": nick_in,
"host": host_in,
"user": user_in,
"sshport": sshport_in,
"httpport": httpport_in
}
假设包含上述 json 格式的对象的 json 文件加载为:
with open(JSON_PATH, mode='r') as rf:
jf = json.load(rf)
我知道如何使用 readlines/writelines 破解文件来做到这一点,但是我如何在 jf
的末尾添加 jdict
返回以相同方式格式化的全新对象集?
jf
现在 只是一个 Python 列表 ,因此您可以将新词典附加到列表中:
jf.append(jdict)
然后将整个对象写回您的文件,替换旧的 JSON 字符串:
with open(JSON_PATH, mode='w') as wf:
json.dump(jf, wf)
我这里有一组 json 个对象。
[
{
"group": "GroupName1",
"name": "Name1",
"nick": "Nick1",
"host": "Hostname1",
"user": "user1",
"sshport": "22",
"httpport": "80"
},
{
"group": "GroupName2",
"name": "Name2",
"nick": "Nick2",
"host": "hostname2",
"user": "user2",
"sshport": "22",
"httpport": "80"
}
]
我有一个 CLI 脚本使用 raw_input 并构建一个包含新对象参数的新字典对象:
def main():
# CLI Input
group_in = raw_input("Group: ")
name_in = raw_input("Name: ")
nick_in = raw_input("Nick: ")
host_in = raw_input("Host: ")
user_in = raw_input("User: ")
sshport_in = raw_input("SSH Port: ")
httpport_in = raw_input("HTTP Port: ")
# New server to add
jdict = {
"group": group_in,
"name": name_in,
"nick": nick_in,
"host": host_in,
"user": user_in,
"sshport": sshport_in,
"httpport": httpport_in
}
假设包含上述 json 格式的对象的 json 文件加载为:
with open(JSON_PATH, mode='r') as rf:
jf = json.load(rf)
我知道如何使用 readlines/writelines 破解文件来做到这一点,但是我如何在 jf
的末尾添加 jdict
返回以相同方式格式化的全新对象集?
jf
现在 只是一个 Python 列表 ,因此您可以将新词典附加到列表中:
jf.append(jdict)
然后将整个对象写回您的文件,替换旧的 JSON 字符串:
with open(JSON_PATH, mode='w') as wf:
json.dump(jf, wf)