我尝试解析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文件的常用方法是什么?
答案 0 :(得分:2)
您正在加载JSON就好了。您的 print
声明失败。
您正在尝试打印到仅配置为ASCII处理的控制台或终端。您将需要更改控制台配置或显式编码输出:
print data["entryLabel"].encode('ascii', 'replace')
和
print entryContentHTML.prettify().encode('ascii', 'replace')
如果没有关于您的环境的更多信息,则无法告知如何修复您的配置(如果可能的话)。