嗨,我正在研究一个简单的程序,该程序从json文件中获取数据(通过带有处理数据的flask的html表单输入),并使用此数据进行API调用。
所以我有一些这样的JSON:
[{"id": "ßLÙ", "server": "NA"}]
并且我想将ID发送到api调用,例如以下示例:
http://apicallnamewhatever+id=ßLÙ
但是,当我使用以下命令将json文件加载到app.py
中时
ids = json.load(open('../names.json'))
json.load似乎将ID从'ßLÙ'
更改为'ßLÙ'
我不确定为什么会在json.load中发生这种情况,但是我需要找到一种方法来将'ßLÙ'
放入api调用中,而不是变形的'ßLÙ'
答案 0 :(得分:4)
您的names.json
似乎是用"utf-8"
编码的,但是您将其打开为"windows-1252"
[*] 或类似的名称。试试
json.load(open('names.json', encoding="utf-8"))
,您可能还应该对id
进行URL编码,而不是直接将其与该服务器地址连接起来,具体如下:
urllib2.quote(idExtractedFromJson.encode("utf-8")
[*] :感谢@jDo指出这一点,我最初猜错了代码页。