已知二維字典:
datas = {'pay_method_info': '{"card_no":"123456789","expiration_month":"06","expiration_year":"28","cvv":"123","first_name":"sdss","last_name":"kite"}'}
(1)需要更新card_no的值為:123456
card_no_refresh = {"card_no": "123456"}
(2)取出pay_method_info的值,並且由str轉為dict,方便對card_no鍵值對進行操作
import json pay_method_info_value = json.loads(datas['pay_method_info'])
此時的結果pay_method_info_value 為:
{"card_no":"123456789","expiration_month":"06","expiration_year":"28","cvv":"123","first_name":"sdss","last_name":"kite"}
(3)更新card_no的值
pay_method_info_value.update(card_no_refresh)
此時的結果pay_method_info_value 為:
{'first_name': 'sdss', 'expiration_month': '06', 'card_no': '123456', 'expiration_year': '28', 'cvv': '123', 'last_name': 'kite'}
此時的結果datas為:可見並未更新
{'pay_method_info': '{"card_no":"123456789","expiration_month":"06","expiration_year":"28","cvv":"123","first_name":"sdss","last_name":"kite"}'}
(4)使原來的二維字典datas也更新了:需要將我們取出來的pay_method_info_value的格式由當前的dict轉為str
datas['pay_method_info'] = json.dumps(pay_method_info_value)
此時查看datas的結果:更新成功啦
{'pay_method_info': '{"first_name": "sdss", "expiration_month": "06", "card_no": "123456", "expiration_year": "28", "cvv": "123", "last_name": "kite"}'}
完整代碼如下:
import json datas = {'pay_method_info': '{"card_no":"123456789","expiration_month":"06","expiration_year":"28","cvv":"123","first_name":"sdss","last_name":"kite"}'} card_no_refresh = {"card_no": "123456"} pay_method_info_value = json.loads(datas['pay_method_info'])# 將str轉化成dict,更新字典中的值 pay_method_info_value.update(card_no_refresh) datas['pay_method_info'] = json.dumps(pay_method_info_value)# 將dict轉化成str,作為字典的值傳回去
