python使用json.dumps輸出中文問(wèn)題
使用json.dumps輸出中文
在使用json.dumps時(shí)要注意一個(gè)問(wèn)題
>>> import json
>>> print(json.dumps('中國(guó)'))
"\u4e2d\u56fd"輸出的會(huì)是
‘中國(guó)’ 中的ascii字符碼,而不是真正的中文。
這是因?yàn)閖son.dumps序列化時(shí)對(duì)中文默認(rèn)使用的ascii編碼
想輸出真正的中文需要指定ensure_ascii=False:
>>> import json
>>> print(json.dumps('中國(guó)'))
"\u4e2d\u56fd"
>>> print(json.dumps('中國(guó)', ensure_ascii=False))
"中國(guó)"Python json.dumps()中文亂碼
有一段代碼如下:
def save_data(self,data):
print(data)
#ensure_ascii=False
data=json.dumps(data)
print(data)
with open('ljd.json',mode='w',encoding='utf-8') as f:
f.write(data)date在傳遞進(jìn)來(lái)之前是字典格式數(shù)據(jù),現(xiàn)在為了能保存到文件中,因此用json.dumps(data)來(lái)將字典數(shù)據(jù)轉(zhuǎn)換為json字符串,但是轉(zhuǎn)換以后前后顯示就有問(wèn)題了,如下:

發(fā)現(xiàn)轉(zhuǎn)換以后,中文亂碼了。
原因:json.dumps 序列化時(shí)默認(rèn)使用的ascii編碼,想輸出真正的中文需要指定ensure_ascii=False:更深入分析,是應(yīng)為dJSON object 不是單純的unicode實(shí)現(xiàn),而是包含了混合的unicode編碼以及已經(jīng)用utf-8編碼之后的字符串。
更改如下:
def save_data(self,data):
print(data)
#ensure_ascii=False
data=json.dumps(data,ensure_ascii=False)
print(data)
with open('ljd.json',mode='w',encoding='utf-8') as f:
f.write(data)而后,顯示正常!

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python中json.dumps()函數(shù)使用和示例
- Python的json.loads() 方法與json.dumps()方法及使用小結(jié)
- Python中json.dumps()和json.dump()的區(qū)別小結(jié)
- python中json.dumps()和json.loads()的用法
- Python中json.dumps()函數(shù)的使用解析
- python json.dumps中文亂碼問(wèn)題解決
- python json.dumps() json.dump()的區(qū)別詳解
- python json.dumps中文亂碼問(wèn)題解決
- python中json.dumps和json.dump區(qū)別
相關(guān)文章
pytorch?rpc實(shí)現(xiàn)分物理機(jī)器實(shí)現(xiàn)model?parallel的過(guò)程詳解
這篇文章主要介紹了pytorch?rpc實(shí)現(xiàn)分物理機(jī)器實(shí)現(xiàn)model?parallel的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
python面試題之read、readline和readlines的區(qū)別詳解
當(dāng)python進(jìn)行文件的讀取會(huì)遇到三個(gè)不同的函數(shù),它們分別是read(),readline(),和readlines(),下面這篇文章主要給大家介紹了關(guān)于python面試題之read、readline和readlines區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-07-07
Python 正則表達(dá)式進(jìn)階用法之字符集與字符范圍詳解
本文詳細(xì)介紹了Python正則表達(dá)式中的字符集和字符范圍,包括字符集的基本概念、特殊字符、示例和注意事項(xiàng),通過(guò)這些進(jìn)階用法,我們可以更高效地處理復(fù)雜的文本模式,感興趣的朋友跟隨小編一起看看吧2024-11-11
Python實(shí)現(xiàn)pdf轉(zhuǎn)word詳細(xì)代碼
在日常工作中,我們經(jīng)常會(huì)遇到需要將PDF文件轉(zhuǎn)換成Word文件的需求。雖然市面上有許多PDF轉(zhuǎn)Word的工具,但是它們通常需要付費(fèi)或者有轉(zhuǎn)換后的格式問(wèn)題,這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)pdf轉(zhuǎn)word的相關(guān)資料,需要的朋友可以參考下2023-09-09
keras 多任務(wù)多l(xiāng)oss實(shí)例
這篇文章主要介紹了keras 多任務(wù)多l(xiāng)oss實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
Django實(shí)現(xiàn)whoosh搜索引擎使用jieba分詞
這篇文章主要介紹了Django實(shí)現(xiàn)whoosh搜索引擎使用jieba分詞,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
yolov5 win10 CPU與GPU環(huán)境搭建過(guò)程
這篇文章主要介紹了yolov5 win10 CPU與GPU環(huán)境搭建過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
python使用pyshark庫(kù)捕獲數(shù)據(jù)包的示例詳解
PyShark是一個(gè)基于Python的網(wǎng)絡(luò)數(shù)據(jù)包分析工具庫(kù),它允許用戶捕獲、解碼和分析實(shí)時(shí)網(wǎng)絡(luò)流量,特別是Wi-Fi和TCP/IP協(xié)議的數(shù)據(jù),所以本文給大家介紹了python使用pyshark庫(kù)捕獲數(shù)據(jù)包的示例,需要的朋友可以參考下2024-08-08

