下面的示例将数据加载到我的列表视图中,但是某些字符无效,例如。 ÅÄ我正在尝试使用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);
有解决方案吗?
答案 0 :(得分:3)
您的服务器可能未使用content-type
指定字符集,因此http
软件包默认为Latin-1
。
将上面给出的两个部分合并。使用utf8.decode
将字节解码为字符串,然后使用json.decode
将该字符串作为JSON解码为映射。
var jsonData = json.decode(utf8.decode(response.bodyBytes));