Python - xmljson - 保存西里尔文符号

时间:2017-02-05 12:10:35

标签: python encoding

我有一个xml,我想使用xmljson lib将其转换为json。 xml正在关注

post.comments

在控制台中我执行以下操作

<description>Описание товара</description>

然后我得到了

>>> from xmljson import badgerfish as bf
>>> from xml.etree.ElementTree import fromstring
>>> from json import dumps
>>> dumps(bf.data(fromstring('<description>Описание товара</description>')))

我可以做些什么才能获得>>> '{"description": {"$": "\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u0442\\u043e\\u0432\\u0430\\u0440\\u0430"}}' 而不是Описание товара

1 个答案:

答案 0 :(得分:1)

ensure_ascii=False

中使用json.dumps
import xmltodict
import json
s = '<description>Описание товара</description>'
d = xmltodict.parse(s)
json.dumps(d, ensure_ascii=False)
# '{"description": "Описание товара"}'

注意:您可以手动解码字符串:

st = "\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u0442\\u043e\\u0432\\u0430\\u0440\\u0430"
st.encode('ascii').decode('unicode-escape')
# 'Описание товара'