如何修复json以进行模型转换?[已解决]

时间:2019-11-22 09:53:56

标签: json flutter flutter-web dio

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

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)中,它不会重新运行任何内容。 我正在使用this tool将JSON转换为模型。

2 个答案:

答案 0 :(得分:0)

awaitthen子句可能无法一起使用。尝试以下类似的方法。

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

OR

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

答案 1 :(得分:0)

使用 try..catch ,可能有用

[MAKE] Generating cache.mk
[LD] Linking /Users/laxmi/grpc/libs/opt/libaddress_sorting.dylib
make: “/Users/laxmi/Library/Android/sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android-ld”: No such file or directory
make: *** [/Users/laxmi/grpc/libs/opt/libaddress_sorting.dylib] Error 1