首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python - xmljson -保存西里尔文符号

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

Stack Overflow用户
提问于 2017-02-05 20:10:35
回答 1查看 359关注 0票数 1

我有一个xml,我想用xmljson库把它转换成json。xml如下所示

代码语言:javascript
复制
<description>Описание товара</description>

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

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

然后我就会得到

代码语言:javascript
复制
>>> '{"description": {"$": "\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u0442\\u043e\\u0432\\u0430\\u0440\\u0430"}}'

要获得Описание товара而不是\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u0442\\u043e\\u0432\\u0430\\u0440\\u0430,我可以做些什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-05 21:08:31

json.dumps中使用ensure_ascii=False

代码语言:javascript
复制
import xmltodict
import json
s = '<description>Описание товара</description>'
d = xmltodict.parse(s)
json.dumps(d, ensure_ascii=False)
# '{"description": "Описание товара"}'

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

代码语言:javascript
复制
st = "\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u0442\\u043e\\u0432\\u0430\\u0440\\u0430"
st.encode('ascii').decode('unicode-escape')
# 'Описание товара'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42051874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档