这是我仅在释放模式(奇怪)中遇到的错误,当我尝试解析我制作为json映射的网络请求的响应正文时。我放下代码以及下面的错误stacktrace。 我应该提到的另一件事是它有时仅会发生。并非一直如此。但是对于我在Firebase上查看崩溃报告时在市场上发布的应用程序,此错误也报告在此。 (虽然不会导致崩溃)
我应该提到我使用Dio软件包作为http客户端
更新: 我发现它有时会发生,但是当我反复发送相同的请求或其他请求时,它总是会发生。直到我退出应用程序并再次运行。
错误堆栈跟踪:
I/flutter (31714): type '_OneByteString' is not a subtype of type 'Map<String, dynamic>'
I/flutter (31714): #0 Server.getUser (package:mehrgan/data/network/server.dart:83)
I/flutter (31714): <asynchronous suspension>
I/flutter (31714): #1 Future.wait.<anonymous closure> (dart:async/future.dart:0)
I/flutter (31714): <asynchronous suspension>
I/flutter (31714): type '_OneByteString' is not a subtype of type 'Map<String, dynamic>'
I/flutter (31714): #0 Server.getCourses (package:mehrgan/data/network/server.dart:101)
I/flutter (31714): <asynchronous suspension>
I/flutter (31714): #1 Future.wait.<anonymous closure> (dart:async/future.dart:0)
I/flutter (31714): <asynchronous suspension>
我的代码:
Response response = await _dio.get('user/info');
Map<String, dynamic> json = jsonDecode(jsonEncode(response.data));
答案 0 :(得分:1)
我在Dio客户端库中使用Dart / Flutter遇到了这个问题。
服务器端,我正在从PHP脚本请求数据。
我通过在PHP脚本中添加以下行来解决此问题:
header('Content-Type: application/json');
非常感谢上述的蒂亚拉什·大卫(Thiyraash David),他为我提供了解决问题所需的线索。