zoukankan      html  css  js  c++  java
  • 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编码,如下所示

    {"u6625u6653": "asfffa", "u6625u7720u4e0du89c9u6653": "u5904u5904u95fbu557cu9e1f", "u591cu6765u98ceu96e8u58f0": 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))

    设置了这个参数后,完美解决

  • 相关阅读:
    SQLSERVER FUNCTIONS
    批处理命令学习
    java回调
    android布局中容易混淆的几个属性
    UML类图关系
    android面试试题
    Handler基础
    Android中自定义属性的使用
    php中钩子函数&实现
    Handler高级
  • 原文地址:https://www.cnblogs.com/bear7/p/12632167.html
Copyright © 2011-2022 走看看