python 數據寫入json文件時中文顯示Unicode編碼問題


一、問題描述

import json

dir = {
    '春曉':'asfffa',
    '春眠不覺曉' : '處處聞啼鳥',
    '夜來風雨聲' : 56789,
    'asdga':'asdasda'
}

fp = open('G:/aa.json', 'w')
fp.write(json.dumps(dir))
fp.close()

上邊這段代碼把字典轉為json后,寫入json文件中。當打開json文件時,會發現里邊的中文全都變成Unicode編碼,如下所示

{"\u6625\u6653": "asfffa", "\u6625\u7720\u4e0d\u89c9\u6653": "\u5904\u5904\u95fb\u557c\u9e1f", "\u591c\u6765\u98ce\u96e8\u58f0": 56789, "asdga": "asdasda"}

 

 

 

 

 

 二、原因

為什么數據導出時,中文會變成Unicode編碼?

json.dumps()方法將dict的數據轉換為string數據,然后將string寫入到文本中,但是json.dumps()方法會默認將其中unicode碼以ascii編碼的方式輸入到string。

 

三、解決辦法

在json.dumps()方法中加入一個參數,並把值設置為False(默認為True)

fp.write(json.dumps(dir,ensure_ascii=False))

設置了這個參數后,完美解決

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM