在python 3中,我有像
这样的JSON字符串{
"tag" : "مو",
"id" : 1
}
我使用json.loads
方法,但它没有转换
如何将其转换为Unicode字符串并使用它。
答案 0 :(得分:1)
您可以使用正则表达式匹配HTML实体,并将其替换为Unicode字符:
import json
import re
raw_data = '''\
{
"tag" : "مو",
"id" : 1
}
'''
data = json.loads(raw_data)
data['tag'] = re.sub(r'&#(\d+);',lambda m: chr(int(m.group(1))),data['tag'])
print(data)
输出:
{'tag': 'مو', 'id': 1}
如果可能的话,更好的解决方案是正确地编写JSON,它可以是:
option1 = json.dumps(data)
option2 = json.dumps(data, ensure_ascii=False)
print(option1)
print(option2)
输出:
{"tag": "\u0645\u0648", "id": 1}
{"tag": "مو", "id": 1}