来源: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'
}
}