web-dev-qa-db-ja.com

DIO応答デコードの問題

Dioを要求するためのHTTPを使っています

_  var dio = Dio();
    var response =
        await dio.get(URL);
    final responseBody = json.decode(response.data);

    final statusCode = response.statusCode;

    if (statusCode != 200 || responseBody == null) {
      print("status code:$statusCode");
      throw new ServerExceptionHandler(
          "An error ocurred : [Status Code : $statusCode]", statusCode);
    }
_

私がパーティーしている回答

_{
"x_id": "home"
}
_

しかし、json.decode(response.data)例外を投げています。

_type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'String'
_

奇妙なことは私がDiohttp.get(url)に置き換えるときはjson.decode(response.body)同じ回答で完全に動作します

6
Rahul Devanavar

このアプローチに従う文字列として応答を取ります。今あなたはそれを復号することができます...

 Response<String> response = await DioUtils.getInstance().get(JSON_API);
 List responseJson = json.decode(response.data);
 return responseJson.map((m) => new User.fromJson(m)).toList();
 _
0
SHISHIR