Почему dart/flutter не может декодировать длинный json из REST API?

#json #flutter #dart #utf-8 #dio

Вопрос:

Я использую фреймворк flutter с пакетами http и Dio. В моем REST API мне нравится этот массив данных:

 [
    {
        "id": 1,
        "title": "Абрикос",
        "description": null,
        "status": "inactive",
        "crop_type_id": 1,
        "user_id": null,
        "admin_id": null,
        "created_at": null,
        "updated_at": null
    }
]
 

Dart может декодировать от 1 до 260 подобных элементов массива без каких-либо ошибок. Но когда я отправляю более 260 элементов массива, я получаю сообщение об ошибке:

 I/flutter (11048): Unexpected character 
E/flutter (11048): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Exception: Unexpected character
 

Но когда я пытаюсь декодировать подобные элементы с помощью вебсайта DartPad, то получаю успешно декодированные элементы.

Вот мой код с пакетом Dio:

 Future get(String url) async {
  Response response = await dio.get(
    url,
    options: Options(
      responseType: ResponseType.plain
    )
  );

  JsonCodec codec = new JsonCodec();
  if (response.data.isNotEmpty) {
    return codec.decode(response.data);
  }
}
 

Это мой пример запроса с пакетом http:

 http.Response response = await http.get(url,headers: {'Content-Type': 'application/json'});
List<dynamic> responseJson = json.decode(utf8.decode(response.bodyBytes));
 

Вот пример того, как я вызываю запрос в своем приложении flutter:

 Future getCategories() async {
  return await apiDataService.getSeedlings();
}

@override
void initState() {
  WidgetsBinding.instance.addPostFrameCallback((_) async {
    await getCategories();
  });
  super.initState();
}
 

У меня ошибка в коде или я должен настроить flutter для приема длинных данных ответа от API?