Python存儲(chǔ)json數(shù)據(jù)發(fā)生亂碼的解決方法
1.介紹
當(dāng)使用json.dump()把python對(duì)象轉(zhuǎn)換為json后存儲(chǔ)到文件中時(shí),文件可能會(huì)出現(xiàn)亂碼的問題,本篇文章可以幫助您解決以下兩種亂碼:


2.樣例代碼
以下是用于演示的樣例代碼:
import json
json_data = {
"姓名": "張三",
"年齡": 23,
"性別": "男",
"愛好": "打籃球"
}
# 指定編碼格式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)為True,表示會(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)為True,表示會(huì)將所有輸入的非ASCII字符轉(zhuǎn)義。只要改成False就可以。

(2)使用 json.dump() 保存文件時(shí)中文會(huì)變成口字碼,樣式如下:

寫入程序使用的編碼方式和數(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ān)文章
學(xué)會(huì)Python數(shù)據(jù)可視化必須嘗試這7個(gè)庫(kù)
數(shù)據(jù)可視化是使用一些繪圖和圖形更詳細(xì)地理解數(shù)據(jù)的過程.最著名的庫(kù)之一是 matplotlib,它可以繪制幾乎所有您可以想象的繪圖類型.matplotlib 唯一的問題是初學(xué)者很難掌握.在本文中,我將介紹七個(gè)數(shù)據(jù)可視化庫(kù),你可以嘗試使用它們來(lái)代替 matplotlib ,需要的朋友可以參考下2021-06-06
Python中FastAPI項(xiàng)目使用 Annotated的參數(shù)設(shè)計(jì)的處理方案
FastAPI 是一個(gè)非常現(xiàn)代化和高效的框架,非常適合用于構(gòu)建高性能的 API,FastAPI 是一個(gè)用于構(gòu)建 API 的現(xiàn)代、快速(高性能)web 框架,基于 Python 類型提示,這篇文章主要介紹了Python中FastAPI項(xiàng)目使用 Annotated的參數(shù)設(shè)計(jì),需要的朋友可以參考下2024-08-08
Django項(xiàng)目創(chuàng)建的圖文教程
本文主要介紹了Django項(xiàng)目創(chuàng)建的圖文教程,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
詳解Python 定時(shí)框架 Apscheduler原理及安裝過程
Apscheduler是一個(gè)非常強(qiáng)大且易用的類庫(kù),可以方便我們快速的搭建一些強(qiáng)大的定時(shí)任務(wù)或者定時(shí)監(jiān)控類的調(diào)度系統(tǒng),這篇文章主要介紹了Python 定時(shí)框架 Apscheduler ,需要的朋友可以參考下2019-06-06
對(duì)pandas中iloc,loc取數(shù)據(jù)差別及按條件取值的方法詳解
今天小編就為大家分享一篇對(duì)pandas中iloc,loc取數(shù)據(jù)差別及按條件取值的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-11-11

