解決json中ensure_ascii=False的問題
在使用json.dumps時要注意一個問題
>>> import json
>>> print json.dumps('中國')
"\u4e2d\u56fd"
輸出的會是:'中國' 中的ascii 字符碼,而不是真正的中文。
這是因為json.dumps 序列化時對中文默認使用的ascii編碼.想輸出真正的中文需要指定ensure_ascii=False:
>>> import json
>>> print json.dumps('中國')
"\u4e2d\u56fd"
>>> print json.dumps('中國',ensure_ascii=False)
"中國"
>>>
補充知識:python json.loads json.dumps(ensure_ascii = False) 漢字亂碼問題解決
我們在post請求數(shù)據(jù)時,響應的內容是json數(shù)據(jù),但是返回的json數(shù)據(jù)中文顯示有問題,變成 \uXXX的形式。這是因為中文以 unicode 編碼了,而默認是以ASCII解析的,中文不在ASCII編碼中,所以無法顯示。
這時候我們可以用 import json 然后調用json.loads() 和json.dumps()來使中文正確顯示。 下面的代碼(data是中文不能正常顯示的json串,newjson是處理后中文正常顯示的字符串)
import json myjson=json.loads(data) #data是向 api請求的響應數(shù)據(jù),data必須是字符串類型的 newjson=json.dumps(myjson,ensure_ascii=False) #ensure_ascii=False 就不會用 ASCII 編碼,中文就可以正常顯示了
以上這篇解決json中ensure_ascii=False的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python使用代理IP爬取貓眼電影專業(yè)評分數(shù)據(jù)
在編寫爬蟲程序的過程中,IP封鎖無疑是一個常見且棘手的問題,盡管網(wǎng)絡上存在大量的免費IP代理網(wǎng)站,但其質量往往參差不齊,令人堪憂,本篇文章中介紹一下如何使用Python的Requests庫和BeautifulSoup庫來抓取貓眼電影網(wǎng)站上的專業(yè)評分數(shù)據(jù),需要的朋友可以參考下2024-03-03
Python Pygame實戰(zhàn)之飛機大戰(zhàn)的實現(xiàn)
飛機大戰(zhàn)想必是很多人童年時期的經(jīng)典游戲,這篇文章主要給大家介紹了關于如何利用python中的Pygame模塊寫一個簡單的飛機大戰(zhàn)小游戲的相關資料,需要的朋友可以參考下2022-03-03
Django框架之登錄后自定義跳轉頁面的實現(xiàn)方法
這篇文章主要介紹了Django框架之登錄后自定義跳轉頁面的實現(xiàn)方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問題
這篇文章主要介紹了pyspark操作hive分區(qū)表及.gz.parquet和part-00000文件壓縮問題,針對問題整理了spark操作hive表的幾種方式,需要的朋友可以參考下2021-08-08

