0
私は、小さなネストされたdict(最終的には要求のペイロードになります)に入れるために大きな辞書からデータを抽出できる関数を作成しようとしています。 私は、payload dict構造体にNoneを指定し、デフォルト値にはinfo_jsonからデータを取り込みます。しかし、私はエラーPythonは1つのフラット辞書からネストされたDictにデータを抽出します
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