pythonl输出的预警消息中的json串的中文展示乱码(中文的unicode码)

来源:ctrip
接口名称:ReviewStandartAPI
错误信息:[{'ReviewTime': u'\u63a5\u53e3\u8fd4\u56de\u7684\u70b9\u8bc4\u65f6\u95f4\u6233\u4e0d\u662f\u79d2\u7ea7\u768410\u4f4d\u30022194034227563614'}, {'ReviewTime': u'\u63a5\u53e3\u8fd4\u56de\u7684\u70b9\u8bc4\u65f6\u95f4\u6233\u4e0d\u662f\u79d2\u7ea7\u768410\u4f4d\u30022194034227563614'}, {'ReviewTime': u'\u63a5\u53e3\u8fd4\u56de\u7684\u70b9\u8bc4\u65f6\u95f4\u6233\u4e0d\u662f\u79d2\u7ea7\u768410\u4f4d\u30022194034227563614'}, {'ReviewTime': u'\u63a5\u53e3\u8fd4\u56de\u7684\u70b9\u8bc4\u65f6\u95f4\u6233\u4e0d\u662f\u79d2\u7ea7\u768410\u4f4d\u30022194034227563614'}, {'ReviewTime': u'\u63a5\u53e3\u8fd4\u56de\u7684\u70b9\u8bc4\u65f6\u95f4\u6233\u4e0d\u662f\u79d2\u7ea7\u768410\u4f4d\u30022194034227563614'}]

这里输出的中文全是unicode码,如何让其显示中文呢?

第一种方法:print res_content.decode('raw_unicode_escape')

第二种方汉:json.dumps( res_conten,ensure_ascii=False)

 

可是这两种方法都是打印时能看到中文,但写到预警邮件里就不是了。为什么呢?

后来发现,我消费1000条数据,每条数据发现的问题都存储在list里,改成存储在dict中就可以了。

 

for items in data["errorMSG"]:
print json.dumps(items).decode("unicode-escape")
content[u"错误信息"] = json.dumps(items).decode("unicode-escape")

所有错误存储在dict中就能正确展示中文了。
格式如下:
来源:ctrip
接口名称:ReviewStandartAPI
错误信息:
{
    '101109': {
        'ReviewTime': u'\u63a5\u53e3\u8fd4\u56de\u7684\u70b9\u8bc4\u65f6\u95f4\u6233\u4e0d\u662f\u79d2\u7ea7\u768410\u4f4d\u30022199734227563563'
    },
    '101110': {
        'ReviewTime': u'\u63a5\u53e3\u8fd4\u56de\u7684\u70b9\u8bc4\u65f6\u95f4\u6233\u4e0d\u662f\u79d2\u7ea7\u768410\u4f4d\u30022199734227563563'
    }
}

 

转载于:https://www.cnblogs.com/yoyoma0355/p/9227851.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值