首页 > 解决方案 > 如何修复 json 模型转换?[已解决]

问题描述

我正在使用Dio调用 api 。我的 API 网址是这个

class NetworkRepository {
  Future<String> getRequest(String url) async {
    var dio = Dio();
    Response response = await dio.get(url);
    return json.encode(response.data);
  }
  dynamic requestInterceptor(RequestOptions options) async {
    return options;
  }
}

我正在调用getRequest(String url)我的小部件,

  Future<String> getProjects() async {
    await NetworkRepository().getRequest(projects).then((onValue) {
      var dataConvertedToJSON = json.decode(onValue);
        AndroidProjectModel model = AndroidProjectModel.fromJson(dataConvertedToJSON);
        print(model.toString()); //DOES NOT PRINT ANYTHING
    });
    return 'success';
  }

dataConvertedToJSON进入AndroidProjectModel.fromJson(dataConvertedToJSON),它不会重新运行任何东西。我正在使用此工具将 JSON 转换为模型。

标签: jsonflutterflutter-webdio

解决方案


使用try..catch,可能有效

try {
      final response = await Dio().get(url);
      dynamic jsonResponse = response.data;
      print("response body :: $jsonResponse");
}
on DioError catch(error) {
      print('Error Details :: ${error.message}');
      dynamic jsonResponse = error.response.data ?? " ";
      print("response body :: $jsonResponse");
}

推荐阅读