我有一个JSON文件,该文件是这样的:更新的嵌套JSON文件了深刻的关键
{
"email": "[email protected]",
"firstName": "name01",
"surname": "Optional"
"layer01": {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"layer02": {
"key1": "value1",
"key2": "value2"
},
"layer03": [
{
"inner_key01": "inner value01"
},
{
"inner_key02": "inner_value02"
}
]
},
"surname": "Required only$uid"
}
我期待更新请求为:
{
"email": "[email protected]",
"firstName": "firstName",
"layer01.key3": "newvalue03",
"layer01.layer02.key1": "newvalue01"
},
更深键使用"."
分离
am使用python2.7。任何人都可以告诉我这个..我真的坚持在这!
这就是我正在同:
def updateTemplate(self,templatename, data):
template= self.getTemplatedata(templatename) # gets the python object with the data from original file
for ref in data:
k= ref
keys= ref.split(".")
temp= template
if len(keys)>1:
temp= template[keys[0]]
for i in range(1,lens(keys)-1):
print keys[i]
if type(temp) is dict:
temp =temp[keys[i]]
temp[keys[len(keys)-1]]= data[k]
print temp
template.update(temp)
else:
template[k]= data[k]
print template
更新添加模板对象中一个全新的关键。我需要更新的最后温度到模板对象的关键
模板对象显示此:
{ u'email': u'[email protected]',
u'firstName': u'Valid AU$uid',
u'key1': u'value1',
u'key2': u'value2',
u'key3': u'value03',
u'key4': u'value4',
u'layer01': { u'key1': u'value1',
u'key2': u'value2',
u'key3': u'value03',
u'key4': u'value4',
u'layer02': { u'key1': u'value01', u'key2': u'value2'},
u'layer03': [ { u'inner_key01': u'inner value01'},
{ u'inner_key02': u'inner_value02'}]},
u'layer02': { u'key1': u'value01', u'key2': u'value2'},
u'layer03': [ { u'inner_key01': u'inner value01'},
{ u'inner_key02': u'inner_value02'}],
u'surname': u'Required only$uid'}
请显示您的尝试。 – Julien
我编辑了这个问题,并在末尾添加了我的代码,..请看看它 – Vineeth
它似乎适用于我。什么不适合你?你说“更新在模板对象中添加了一个全新的密钥”,但这对Python字典是不可能的:密钥是唯一的。 –