У меня есть 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"
},
глубокие ключи разделяются с помощью "."
Я использую 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: ключи уникальны. –