wx.checkjsapi 一直显示ok_Python下调用json.dumps中文显示问题及解决办法

f695ef5d61c4e6fda17a296088341f78.png
https://blog.csdn.net/lizhihua0925/article/details/52861417​blog.csdn.net

问题描述

今天写了一个python脚本,所有编码默认utf-8,通过json.dumps转为json,结果使用print打印出来,打印结果的中文字符一直显示为xxxxxxxxxx

原因

找个半天终于发现了问题所在:

$ help('json')

从中发现以下说明:
     |  __init__(self, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, encoding='utf-8', default=None)
     …………

     |      If *ensure_ascii* is true (the default), all non-ASCII
     |      characters in the output are escaped with uXXXX sequences,
     |      and the results are str instances consisting of ASCII
     |      characters only.  If ensure_ascii is False, a result may be a
     |      unicode instance.  This usually happens if the input contains
     |      unicode strings or the *encoding* parameter is used.

说明json.dumps默认把所有中文字符转为了ascii,而我们使用的是utf-8,所以print出来中文不对

解决方法

为调用的json.dumps方法加入ensure_ascii=False参数就OK了,如下所示

$ json.dumps({"data": data}, ensure_ascii=False, indent=2)
{
  "data": [
    {
      "{#REALURL}": "测试_xxx"
    }, 
    {
      "{#REALURL}": "测试_xxx"
    }, 
    .
    .
    .
  ]
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值