处理JSON响应中转义的unicode字符

2024-10-02 20:31:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我收到了一份这样的地址列表

region_response = json.loads(requests.get(region_req_url).text)

许多名称在响应中都有表示为Tor\u00f6 Stenstrand的字符,其中的地名是Torö Stenstrand。在

然后我将接收到的一些元素添加到字典中,并将其保存到一个新的JSON文件中

^{pr2}$

生成的文件也有转义字符,如\u00f6,但我需要它有实际的表示,如ö。在

到目前为止,我的工作是在this repo,特别是magicseaweed.py和{a3}。在

如果之前有人回答过这个问题,或者我上面的描述/假设不正确,我很抱歉-我已经试着解决这个问题,但是我认为我对这个领域的了解不够,不足以确切地知道我应该寻找或阅读什么!如有任何帮助/建议/建议,我们将不胜感激。在


Tags: 文件jsonurl列表getresponse地址requests
2条回答

开始工作了:)首先我给json.loads添加了编码。。。在

response = requests.get(region_req_url)
response = requests.utils.get_unicode_from_response(response)
region_response = json.loads(response, encoding='utf-8')

在尝试了Sijan上面的答案之后,我发现了错误(如注释所示),当我试图修复错误时,我遇到了{a1},这个解决方案已经奏效了。所以要写入我的JSON文件。。。在

^{pr2}$

现在地名正在写入JSON文件,如Torö Stenstrand。在

我曾经用io模块解决过这个问题,如下所示

import io
j = {'d': '中', 'e': 'a'}
with io.open('myfile.json', 'w', encoding='utf8') as json_file:
   json.dumps(j, json_file, ensure_ascii=False)

输出:

^{pr2}$

相关问题 更多 >