python - 如何在 Python 中将 unicode 字符串加载到 json 中?

我正在尝试从压缩文件中读取文件并将数据转换为 json/字典。但是我一直在努力解决 unicode 问题。谁能帮忙?

exfile_obj = tar.extractfile(member)
data = exfile_obj.read()
print(type(data)) ## shows str
print(data)  ## it is something like: "{u'building': False, u'displayName': u'Tam\\xe1s Kosztol\\xe1nczi', u'changeSet': {u'items': u'comment'}}"
json_obj = json.loads(data) # it is a unicode object.

最佳答案

该数据是 Python 字典的字符串表示形式。您可以使用 ast.literal_eval 将其转换为字典,也可以使用 json.dumps 将该字典转换为 JSON 字符串。

import ast
import json

src = "{u'building': False, u'displayName': u'Tam\\xe1s Kosztol\\xe1nczi', u'changeSet': {u'items': u'comment'}}"
data = ast.literal_eval(src)
print(data)
j = json.dumps(data)
print(j)

输出

{'building': False, 'displayName': 'Tamás Kosztolánczi', 'changeSet': {'items': 'comment'}}
{"building": false, "displayName": "Tam\u00e1s Kosztol\u00e1nczi", "changeSet": {"items": "comment"}}

https://stackoverflow.com/questions/42176550/

相关文章:

xcode - 如何点击 tvOS 模拟器中的选项卡?

html - 将所有 UL LI 元素对齐在一行中并仅将 CSS 应用于 UL?

sql - 主键和标识有什么区别?

php - 如何从还包含整数的字符串中仅提取 float (小数)

php - 使用 Carbon PHP 格式化日期

bash - 创建动态变量名bash并获取值

c# - WinForms 列标题 FontStyle

ruby - 安装 jekyll-admin 到 github pages 托管的 jekyll 站

three.js - 围绕轨道旋转对象

python-3.x - Python 3 inside Sublime Text with Ana