[英]Python append json object in file, guard if object does not exist
我正在使用python讀取json文件,然后在對象內添加數組,其形狀為
"additional_info": {"other_names": ["12.13"]
我將數組追加如下:
data["additional_info"]["other_names"].append('13.9')
with open('jsonfile', 'w') as f:
json.dump(data, f)
我想設置一個保護措施,以檢查json文件中是否存在extra_info和other_names,如果不存在則創建它。 我將如何去做呢?
通常,我會使用嵌套的try-except
檢查每個丟失的鍵或defaultdict
,但是在這種情況下,為簡單起見,我認為我會使用2 if
語句:
if "additional_info" not in data:
data["additional_info"] = {}
if "other_names" not in data["additional_info"]:
data["additional_info"]["other_names"] = []
data["additional_info"]["other_names"].append('13.9')
with open('jsonfile', 'w') as f:
json.dump(data, f)
兩個用例:
data = {}
if "additional_info" not in data:
data["additional_info"] = {}
if "other_names" not in data["additional_info"]:
data["additional_info"]["other_names"] = []
data["additional_info"]["other_names"].append('13.9')
print(data)
>> {'additional_info': {'other_names': ['13.9']}}
和
data = {"additional_info": {"other_names": ["12.13"]}}
if "additional_info" not in data:
data["additional_info"] = {}
if "other_names" not in data["additional_info"]:
data["additional_info"]["other_names"] = []
data["additional_info"]["other_names"].append('13.9')
print(data)
>> {'additional_info': {'other_names': ['12.13', '13.9']}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.