[英]how to write and read unicode to json file in python
我正在嘗試使用 python3 將我的數據的 Dictionary 類型保存到 txt 文件的 json 文件中。
示例我的數據形式如下:
listdic = []
dic1 = {"id": 11106, "text": "*Kỹ_năng đàm_phán* , thuyết_phục"}
dic2 = {"id": 11104, "text": "*Ngoại_hình ưa_nhìn* , nhanh_nhẹn , giao_tiếp tốt"}
dic3 = {"id": 10263, "text": "giao_tiếp tốt"}
listdic.append(dic1)
listdic.append(dic2)
listdic.append(dic3)
我希望它像這樣保存到我的 json 文件中:
我在互聯網上閱讀了一些解決方案並嘗試了:
f = open("job_benefits.json", "a", encoding= 'utf-8')
for i in listdic:
i = json.dumps(i)
f.write(i + '\n')
f.close()
但我得到的結果是這樣的:
然后我嘗試讀取文件,這是我的結果:
f = open("job_benefits.json", "r", encoding= 'utf-8')
listdic = f.readlines()
for i in listdic:
print(i)
這不是將數據寫入和讀取到我想要的 json 文件的方式,有些人可以幫助解決這種情況?
非常感謝您對我的語法感到抱歉!
您正在使用 json 模塊保存文件並將其作為文本讀回,而不是嘗試對讀取的 json 數據進行解碼。 因此,所有為防止信息丟失而進行轉義編碼的字符都保持轉義編碼。
您可以強制 json 輸出 utf-8 編碼,而不是通過傳遞dumps
或dump
ensure_ascii=False
參數自動轉義所有非 ASCII 字符:
f = open("job_benefits.json", "a", encoding= 'utf-8')
for i in listdic:
i = json.dumps(i, ensure_ascii=False)
f.write(i + '\n')
f.close()
或在您讀回您的行后從 JSON 解碼:
import json
f = open("job_benefits.json", "r", encoding= 'utf-8')
listdic = f.readlines()
for i in listdic:
print(json.loads(i))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.