Python存儲(chǔ)json數(shù)據(jù)發(fā)生亂碼的解決方法
1.介紹
當(dāng)使用json.dump()把python對(duì)象轉(zhuǎn)換為json后存儲(chǔ)到文件中時(shí),文件可能會(huì)出現(xiàn)亂碼的問(wèn)題,本篇文章可以幫助您解決以下兩種亂碼:
2.樣例代碼
以下是用于演示的樣例代碼:
import json json_data = { "姓名": "張三", "年齡": 23, "性別": "男", "愛(ài)好": "打籃球" } # 指定編碼格式encoding='utf-8' # with open('./data/test.json', 'w', encoding='utf-8') as f: with open('./data/test.json', 'w') as f: # indent參數(shù)指定縮進(jìn)量 # 其中的ensure_ascii默認(rèn)為T(mén)rue,表示會(huì)將所有輸入的非ASCII字符轉(zhuǎn)義。只要改成False就可以。 # json.dump(json_data, f, indent=2, ensure_ascii=False) json.dump(json_data, f, indent=2)
3.解決方法
(1)使用 json.dump() 保存文件時(shí)中文會(huì)變成 Unicode,樣式如下:
json.dump()中的ensure_ascii默認(rèn)為T(mén)rue,表示會(huì)將所有輸入的非ASCII字符轉(zhuǎn)義。只要改成False就可以。
(2)使用 json.dump() 保存文件時(shí)中文會(huì)變成口字碼,樣式如下:
寫(xiě)入程序使用的編碼方式和數(shù)據(jù)目標(biāo)的編碼方式不同造成的,申明open()函數(shù)的編碼方式為'utf-8',即encoding="utf-8" 即可解決.
4.驗(yàn)證
重新運(yùn)行程序,查看保存的json文件,發(fā)現(xiàn)中文不再亂碼:
到此這篇關(guān)于Python存儲(chǔ)json數(shù)據(jù)發(fā)生亂碼的解決方法的文章就介紹到這了,更多相關(guān)Python存儲(chǔ)json數(shù)據(jù)亂碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python實(shí)現(xiàn)提取JSON文件中指定數(shù)據(jù)并保存至CSV或Excel內(nèi)
- 執(zhí)行python腳本并傳入json數(shù)據(jù)格式參數(shù)方式
- Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實(shí)例
- 使用python如何提取JSON數(shù)據(jù)指定內(nèi)容
- Python解析JSON數(shù)據(jù)的基本方法實(shí)例代碼
- 詳解Python中如何將數(shù)據(jù)存儲(chǔ)為json格式的文件
- python 調(diào)用API接口 獲取和解析 Json數(shù)據(jù)
- Python?JSON數(shù)據(jù)解析過(guò)程(最新推薦)
相關(guān)文章
Python GUI學(xué)習(xí)之登錄系統(tǒng)界面篇
這篇文章主要介紹了Python GUI學(xué)習(xí)之登錄系統(tǒng)界面篇,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08PyCharm Community安裝與配置的詳細(xì)教程
這篇文章主要介紹了PyCharm Community安裝與配置的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11關(guān)于阿里云oss獲取sts憑證 app直傳 python的實(shí)例
今天小編就為大家分享一篇關(guān)于阿里云oss獲取sts憑證 app直傳 python的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08使用memory_profiler監(jiān)測(cè)python代碼運(yùn)行時(shí)內(nèi)存消耗方法
今天小編就為大家分享一篇使用memory_profiler監(jiān)測(cè)python代碼運(yùn)行時(shí)內(nèi)存消耗方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Python解決IndexError: list index out of&nb
IndexError是一種常見(jiàn)的異常類(lèi)型,它通常發(fā)生在嘗試訪問(wèn)列表(list)中不存在的索引時(shí),錯(cuò)誤信息“IndexError: list index out of range”意味著你試圖訪問(wèn)的列表索引超出了列表的實(shí)際范圍,所以本文給大家介紹了Python成功解決IndexError: list index out of range2024-05-05- 這篇文章主要介紹了如何在 Python 中導(dǎo)入文本文件,在Python中導(dǎo)入文本文件是很常見(jiàn)的操作,我們可以使用內(nèi)置的open函數(shù)和with語(yǔ)句來(lái)讀取或?qū)懭胛谋疚募?,需要的朋友可以參考?/div> 2023-05-05
Python multiprocessing多進(jìn)程原理與應(yīng)用示例
這篇文章主要介紹了Python multiprocessing多進(jìn)程原理與應(yīng)用,結(jié)合實(shí)例形式詳細(xì)分析了基于multiprocessing包的多進(jìn)程概念、原理及相關(guān)使用操作技巧,需要的朋友可以參考下2019-02-02最新評(píng)論