Daha küçük bir iç içe Dict (en sonunda bir istekte bir yük olacak) koymak için daha büyük bir sözlükten verileri ayıklayabilen bir işlev yazmaya çalışıyorum. Yük taşıma kipi yapısını Yok ve varsayılan değerleri info_json'dan doldurulacak verilerle koydum. Ancak bir hata "sözlük yineleme sırasında boyutu değişti" olsunpython 1 düz dict veri iç içe bir dict ayıklamak için
def extract_payload(self, info_json):
info_dict = json.loads(info_json)
payload = {"service": None, "current": None,
"product1": {"id": None, "id2": None,
"name": None,
"method": "constant_value"},
"product2": {"id": None, "id2": None,
"name": None,
"method": None, "always_false": False},
"usage": {"usage1": None, "usage2": None, "usage3": None,
"usage4": 2066}
for key,value in payload.items():
if value is not None:
for sub_key in value:
value = info_dict.get(sub_key)
payload['sub_key'] = value
else:
value = info_dict.get(key)
payload['key'] = value
return payload