使用Python加载UTF8 JSON文件

时间:2014-12-19 16:07:29

标签: python json unicode

我尝试解析JSON文件,当我想打印一个HTML字符串的JSON值时出错。

错误是:Traceback (most recent call last): File "parseJson.py", line 11, in <module> print entryContentHTML.prettify() UnicodeEncodeError: 'ascii' codec can't encode character u'\u02c8' in position 196: ordinal not in range(128)

import json
import codecs
from bs4 import BeautifulSoup

with open('cat.json') as f:
    data = json.load(f)

print data["entryLabel"]
entryContentHTML = BeautifulSoup(data["entryContent"])  
print entryContentHTML.prettify()

使用UTF8规范加载json文件的常用方法是什么?

1 个答案:

答案 0 :(得分:2)

您正在加载JSON就好了。您的 print声明失败。

您正在尝试打印到仅配置为ASCII处理的控制台或终端。您将需要更改控制台配置或显式编码输出:

print data["entryLabel"].encode('ascii', 'replace')

print entryContentHTML.prettify().encode('ascii', 'replace')

如果没有关于您的环境的更多信息,则无法告知如何修复您的配置(如果可能的话)。