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


    来源:ctrip
    接口名称:ReviewStandartAPI
    错误信息:[{'ReviewTime': u'u63a5u53e3u8fd4u56deu7684u70b9u8bc4u65f6u95f4u6233u4e0du662fu79d2u7ea7u768410u4f4du30022194034227563614'}, {'ReviewTime': u'u63a5u53e3u8fd4u56deu7684u70b9u8bc4u65f6u95f4u6233u4e0du662fu79d2u7ea7u768410u4f4du30022194034227563614'}, {'ReviewTime': u'u63a5u53e3u8fd4u56deu7684u70b9u8bc4u65f6u95f4u6233u4e0du662fu79d2u7ea7u768410u4f4du30022194034227563614'}, {'ReviewTime': u'u63a5u53e3u8fd4u56deu7684u70b9u8bc4u65f6u95f4u6233u4e0du662fu79d2u7ea7u768410u4f4du30022194034227563614'}, {'ReviewTime': u'u63a5u53e3u8fd4u56deu7684u70b9u8bc4u65f6u95f4u6233u4e0du662fu79d2u7ea7u768410u4f4du30022194034227563614'}]

    这里输出的中文全是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'u63a5u53e3u8fd4u56deu7684u70b9u8bc4u65f6u95f4u6233u4e0du662fu79d2u7ea7u768410u4f4du30022199734227563563'
        },
        '101110': {
            'ReviewTime': u'u63a5u53e3u8fd4u56deu7684u70b9u8bc4u65f6u95f4u6233u4e0du662fu79d2u7ea7u768410u4f4du30022199734227563563'
        }
    }
  • 相关阅读:
    JWT攻击
    CTF中的RSA 算法
    PHP反序列化字符逃逸
    记一次代码审计 [De1CTF 2019]SSRF Me
    BUU 思路记录(更新中
    日志注入漏洞
    docker 常用命令
    [HITCON 2017]SSRFme
    xss 19道题目
    BUUCTF之[EIS 2019]EzPOP&BUUCTF[2020 新春红包题]1 web
  • 原文地址:https://www.cnblogs.com/yoyoma0355/p/9227851.html
Copyright © 2020-2023  润新知