我试图在json中插入父对象,但它将其插入顶部,但我想插入JSON中的特定键之后。我尝试添加下面的代码,但它在顶部插入父(我明白,因为它是父,它将被插入在顶部,但我想在特定的关键字之前插入,在这种情况下,关键字是“模式”:
with open ("myfile.json", 'r') as f:
myjson = json.load(f)
myjson = {'Main Parent': myjson}
字符串
基本上我想插入“版本”:“模式”之前
"versions":{
"pattern": {
"provider": "abc",
"schema": "xyz"
},
"baseline":{
"version" : "dev"
}
}
型
输入json文件
{
"target": {
"Name": "abc",
"Occupation": "xyz"
},
"properties":{
"env" : "dev"
},
"use_it": "xyz",
"pattern": {
"provider": "abc",
"schema": "xyz"
},
"baseline":{
"version" : "dev"
}
}
型
预期输出json文件
输入json文件
{
"target": {
"Name": "abc",
"Occupation": "xyz"
},
"properties":{
"env" : "dev"
},
"use_it": "xyz",
"versions":{
"pattern": {
"provider": "abc",
"schema": "xyz"
},
"baseline":{
"version" : "dev"
}
}
}
型
2条答案
按热度按时间dluptydi1#
这样的东西对你有用吗?
字符串
pop
方法从dict中删除键并返回其值。我们存储该值并将其放回新的“versions”键下。
输出量:
型
vulvrdjw2#
是的,你可以动态地从
versions
字典中获取键,并将它们插入到JSON中的“pattern”键之前!看看这个:
字符串
正如您所看到的,
versions
字典是用所需的键值对定义的,并且在通过原始JSON
迭代期间,当遇到pattern
键时,versions
字典会被插入到它之前!