[英]Python replace nested dictionary in a dictionary
我想替換字典中的字典,但是當我嘗試時,我不斷在添加的字典周圍獲取引號和斜線。
current_dict = {"header": {"from": "/app/off_grid_control/subscribe",
"messageId": "ef6b8e50620ac768569f1f7abc6507a5", "method": "SET",
"namespace": "Appliance.Control.ToggleX", "payloadVersion": 1,
"sign": "e48c24e510044d7e2d248c68ff2c10ca", "timestamp": 1601908439,
"triggerSrc": "Android"}, "payload": {"togglex": {"channel": 0, "onoff": 1}}}
raw_payload = {"togglex": {"channel": 0, "onoff": 1}}
payload = json.dumps(raw_payload)
從打印語句中我得到:
payload = {"togglex": {"channel": 0, "onoff": 0}}
所以看起來不錯。
然后我嘗試將新詞典部分添加到原始詞典中:
current_dict["payload"] = payload
得到這個:
current_dict = {"header": {"from": "/app/off_grid_control/subscribe",
"messageId": "ef6b8e50620ac768569f1f7abc6507a5", "method": "SET",
"namespace": "Appliance.Control.ToggleX", "payloadVersion": 1,
"sign": "e48c24e510044d7e2d248c68ff2c10ca", "timestamp": 1601908439,
"triggerSrc": "Android"}, "payload": "{\"togglex\": {\"channel\": 0, \"onoff\": 0}}"}
注意有效負載值周圍所有添加的"
和\
。有人可以幫忙干凈地向“有效負載”添加不同的字典嗎?
當你這樣做時:
payload = json.dumps(raw_payload)
您正在將 dict 轉換為 json 字符串,它看起來只是一本字典。 如果你想把它作為 python object 添加到外部字典,你需要這樣做:
current_dict["payload"] = json.loads(payload)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.