【发布时间】:2019-09-15 19:46:30
【问题描述】:
我使用 json 已经有一段时间了,问题是我解码的字符串被编码为 Latin-1,我无法让它作为 UTF-8 工作。因此,某些字符显示不正确(例如 ' 显示为 ')。
我在这里阅读了一些关于 stackoverflow 的问题,但它们似乎不起作用。
我正在使用的 json 结构如下所示(来自 YouTube API):
...
"items": [
{
...
"snippet": {
...
"title": "Powerbeats Pro “Totally Wireless” Except when you need a wire",
...
}
}
]
我将其编码为:
response = await http.get(link, headers: {HttpHeaders.contentTypeHeader: "application/json; charset=utf-8"});
extractedData = json.decode(response.body);
dataTech = extractedData["items"];
然后我尝试将第二行更改为:
extractedData = json.decode(utf8.decode(response.body));
但这给了我一个关于错误格式的错误。所以我把它改成了:
extractedData = json.decode(utf8.decode(response.bodyBytes));
这不会引发错误,但也不能解决问题。玩弄标题两者都没有。
我希望数据像现在一样存储在 dataTech 中,但编码为 UTF-8。我做错了什么?
【问题讨论】: