Flutter - необработанное исключение: type '_InternalLinkedHashMap ‹String, dynamic›

Я вызываю API сообщений, в котором я должен отправить FormData, но после получения ответа, когда я пытаюсь проанализировать этот ответ, я получаю исключение ниже.

static Future<String> versionApiRequest(String storeId, String deviceId) async {
    String versionApi = 'https://xxxxxxx/${storeId}/api_v5/version';
    print('$versionApi , $storeId');

    FormData formData = new FormData.from(
        {"device_id": deviceId, "device_token":"", "platform":"android"});
    Dio dio = new Dio();
    Response response = await dio.post(versionApi, data: formData,
        options: new Options(
        contentType: ContentType.parse("application/json")));
    print(response.data.toString());

    StoreData storeData = storeDataFromJson(response.data);
    //print("-------store.success ---${storeData.success}");
    return "";
  }

я получаю ошибку ниже:

Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'String'
    #0      ApiController.versionApiRequest (package:restroapp/src/networkhandler/ApiController.dart:43:54)
    <asynchronous suspension>

ниже мой модельный класс https://gist.github.com/achinverma/641774f50d27b2f1cf1be9be9


person Achin    schedule 12.08.2019    source источник
comment
Как вы знаете, ответ находится в map, поскольку он не может быть напрямую преобразован в строку, как вы это писали print(response.data.toString()); Попробуйте сначала отобразить его в объекте, а затем распечатать этот объект.   -  person Sharad Paghadal    schedule 12.08.2019
comment
хорошо, позволь мне попробовать это исправить   -  person Achin    schedule 12.08.2019
comment
Белый объект печати, положить toJson();   -  person Sharad Paghadal    schedule 12.08.2019
comment
@SharadPaghadal, я получил необработанное исключение: FormatException: неожиданный символ (в символе 2) после выполнения response.data.toString ()   -  person Achin    schedule 12.08.2019
comment
вместо того, чтобы самостоятельно управлять методом json класса, вы можете использовать это - flutter.dev/docs/development/data-and-backend/   -  person Sharad Paghadal    schedule 12.08.2019
comment
Я использую dio: 2.1.13 lib для отправки formData в API, но мой json проверен в json lint, я не знаю, почему я получаю эту ошибку   -  person Achin    schedule 12.08.2019
comment
Позвольте нам продолжить это обсуждение в чате.   -  person Achin    schedule 12.08.2019


Ответы (1)


Измените это для отображения ответа на ваш класс модели

var responseData = StoreData.fromJson(response.data);

person Sharad Paghadal    schedule 12.08.2019