最近我一直在做一個專案,我需要將字典串列附加到我現有的 JSON 檔案中。但它的行為有些奇怪。
這是我所擁有的:
def write_records_to_json(json_object):
with open("tracker.json", "r ") as f:
json_file = json.load(f)
json_file.append(json_object)
print(json_file)
這是我要追加的物件(物件的格式是這樣的):
[
{
"file": "dnc_complaint_numbers_2021-12-03.csv",
"date": "2021-12-03"
}
]
這就是我得到的(注意結尾):請原諒,因為它沒有更具可讀性。
[{'file': 'dnc_complaint_numbers_2021-12-01.csv', 'date': '2021-12-01'}, {'file': 'dnc_complaint_numbers_2021-12-02.csv', 'date': '2021-12-02'}, '[\n {\n "file": "dnc_complaint_numbers_2021-12-03.csv",\n "date": "2021-12-03"\n }\n]']
有人能告訴我這是為什么以及如何解決嗎?非常感謝。
uj5u.com熱心網友回復:
從您的代碼和輸出中,我們可以推斷出它json_object指的是一個字串。此字串包含 JSON。json_file不是 JSON,它是一個從 JSON 反序列化的串列。
如果你想添加json_object到json_file你應該首先反序列化前者:
json_file.extend(json.loads(json_object))
您還想使用這里的extend代替append,因此它與其余資料處于同一級別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373892.html
