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)文章
解決python Jupyter不能導(dǎo)入外部包問(wèn)題
這篇文章主要介紹了解決python Jupyter不能導(dǎo)入外部包問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Pyecharts繪制可視化地球?qū)崿F(xiàn)示例
這篇文章主要為大家介紹了Pyecharts繪制可視化地球?qū)崿F(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07一文速學(xué)Python+Pyecharts繪制樹(shù)形圖
比起matplotlib,pyeacharts的圖表要豐富而且好看,而且pyechart文檔全,便于開(kāi)發(fā)和閱讀文檔,熟練掌握后是一種非常好用的數(shù)據(jù)可視化的工具之一。本文就來(lái)用Pyecharts繪制樹(shù)形圖,快跟隨小編一起學(xué)習(xí)一下吧2023-02-02Python自然語(yǔ)言處理庫(kù)之NLTK庫(kù)初級(jí)教程
NLTK(Natural Language Toolkit)是一個(gè)Python庫(kù),用于實(shí)現(xiàn)自然語(yǔ)言處理(NLP)的許多任務(wù),NLTK包括一些有用的工具和資源,如文本語(yǔ)料庫(kù)、詞性標(biāo)注器、語(yǔ)法分析器等,在這篇初級(jí)教程中,我們將了解NLTK的基礎(chǔ)功能,需要的朋友可以參考下2023-08-08