Python 2.7 Python 2.7中的json.dump()转储编码的文本
我有一个网页刮板应用程序,它可以删除一些日本网站。该站点具有UTF-8编码的日语字符。比如说,Python 2.7 Python 2.7中的json.dump()转储编码的文本,python-2.7,Python 2.7,我有一个网页刮板应用程序,它可以删除一些日本网站。该站点具有UTF-8编码的日语字符。比如说, 2017-03-02 17:14:17,862 - __main__ - DEBUG - 出演者: 青山茉利奈 2017-03-02 17:14:17,862 - __main__ - DEBUG - 作者: ひつき 2017-03-02 17:14:17,862 - __main__ - DEBUG - 収録時間: 123分 如您所见,当我在代码中执行logger.debug()时,字符正确地打印
2017-03-02 17:14:17,862 - __main__ - DEBUG - 出演者: 青山茉利奈
2017-03-02 17:14:17,862 - __main__ - DEBUG - 作者: ひつき
2017-03-02 17:14:17,862 - __main__ - DEBUG - 収録時間: 123分
如您所见,当我在代码中执行logger.debug()
时,字符正确地打印在屏幕上。但是当我使用json.dump()
将此数据转储到json文本文件中时,字符串被编码为
“\u53ce\u9332\u6642\u9593”:“123\u5206”
这不是我想要的。我想要的正是我在调试日志中看到的。我怎样才能解决这个问题
json.dumps(whatever, ensure_ascii=False)
指定
确保\u ascii=False
以禁用\u
转义。请注意,如果此转义的存在确实给您带来了问题,那么需要接收此JSON的任何代码都会被破坏。这一点在之前的网站上已经得到了回答,这里:此链接中的解决方案有效。我将对象转储为json字符串,然后将其保存到一个文件中。可能是重复的,谢谢,现在我得到了unicodeincodeError:“ascii”编解码器无法对位置4-26中的字符进行编码:序号不在范围(128)内。