簡體   English   中英

Python 替換字典中的嵌套字典

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM