我收到了像这样的位置名称列表
region_response = json.loads(requests.get(region_req_url).text)
许多名称在回复中都有Tor\u00f6 Stenstrand
字符,其中地名为Torö Stenstrand
。
然后我将一些收到的元素添加到字典中并将其保存到新的JSON文件
with open('spots.json', 'w') as wf:
json.dump(results, wf, skipkeys=False, ensure_ascii=True, indent=4)
生成的文件也有\u00f6
之类的转义字符,但我需要这样才能得到像ö
这样的实际表示形式。
到目前为止,我的工作位于this repo,特别是magicseaweed.py和windguru.py。
如果之前已经回答了这个问题,或者上面的描述/假设是不正确的,请道歉 - 我现在已经尝试了很长一段时间,但我不认为我理解这个区域足以确切地知道我应该寻找什么或阅读!任何帮助/建议/指针都将受到广泛赞赏。
答案 0 :(得分:1)
我曾使用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)
输出:
{"d": "中", "e": "a"}'
答案 1 :(得分:0)
得到了这个工作:)首先我将编码添加到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的上述答案后,我收到了错误(显示在评论中),当我尝试修复错误时遇到了add something to you application's app.manifest
in the "compatibility" section,并且该解决方案已经有效。所以要写我的JSON文件,我正在做......
with io.open("results.json",'w', encoding="utf-8") as outfile:
outfile.write(unicode(json.dumps(results, ensure_ascii=False, indent=4)))
现在,地名正在写入Torö Stenstrand
等JSON文件。