下面的示例将数据加载到我的列表 View 中,但是某些字符无效,例如。我正在尝试使用utf8
var jsonData = json.decode(response.body);
var jsonData = utf8.decode(response.bodyBytes);
当我使用utf8时,结果是正确的,但是在listTile中加载数据时出现引号并出错
//I/flutter ( 4629): {"items":[{"name":"xyšć", //character is OK but get quotation mark
//I/flutter ( 4629): {items: [{name: xyÄÄ, //wrong character
class Api {
static Future<dynamic> _get(String url) async {
try {
final response = await http.get(url);
var jsonData = json.decode(response.body);
有什么办法吗?
最佳答案
您的服务器可能未使用content-type
指定字符集,因此http
软件包默认为Latin-1
。
结合您在上面给出的两个部分。使用utf8.decode
将字节解码为字符串,然后使用json.decode
将字符串作为JSON解码为映射。
var jsonData = json.decode(utf8.decode(response.bodyBytes));
关于flutter - 某些字符无法正确加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59330138/