flutter 网络请求 application/json charset=utf-8 错误

初学flutter,在仿某app,获取该app新闻列表数据,但是不幸的是又又又报错了;

E/flutter ( 9416): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Error on line 1, column 18: Invalid media type: expected no more input.
E/flutter ( 9416):   ╷
E/flutter ( 9416): 1 │ application/json charset=utf-8
E/flutter ( 9416):   │                  ^
E/flutter ( 9416):   ╵
E/flutter ( 9416): #0      wrapFormatException (package:http_parser/src/utils.dart:15:5)
E/flutter ( 9416): #1      new MediaType.parse (package:http_parser/src/media_type.dart:46:12)
E/flutter ( 9416): #2      _contentTypeForHeaders (package:http/src/response.dart:84:39)
E/flutter ( 9416): #3      _encodingForHeaders (package:http/src/response.dart:77:24)

初以为是因为自己headers参数,然而加了貌似也没啥卵用。

无独有偶看见一篇文章要解析返回的json string,必须要指定UTF8字符解析response才可以;

Utf8Codec().decode(response.bodyBytes)

将响应数据解析后,果然不报错!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值