如何修复 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 转换为模型。

awaitthen子句可能无法协同工作。尝试类似下面的操作。

var jsonResponse = await NetworkRepository().getRequest(projects);
var dataConvertedToJSON = json.decode(onValue);
AndroidProjectModel model = AndroidProjectModel.fromJson(dataConvertedToJSON);
print(model.toString()); 

删除await并仅使用then处理程序。

使用 try..捕获,可能是作品

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");
}

相关内容

  • 没有找到相关文章

最新更新