Флаттер : Исключение формата: Неожиданный символ (в символе 1) HTML

#html #flutter #android-studio #mobile #flutter-html

Вопрос:

Я попытался вставить свой html-текст для отображения в своих приложениях flutter, у меня есть некоторое предупреждение. Но результат был хорошим.

Мой Код:

 '''
final response = await http.get(
Uri.parse(BaseUrl.apiBaseUrl   'myapi'),
headers: {HttpHeaders.authorizationHeader: "Bearer "   token});
      
final result = json.decode(response.body);
'''
 

Как я исправляю это предупреждение?
Результат:
Ввод/вывод ( 8104): Исключение формата: Неожиданный символ (в символе 1)
I/флаттер ( 8104):
Ввод/вывод ( 8104): ^
Ввод/вывод ( 8104): Исключение формата: Неожиданный символ (в символе 1)
I/флаттер ( 8104):
Ввод/вывод ( 8104): ^

html-трепетание

Ответ №1:

Проблема final result = json.decode(response.body); в теле вашего ответа, вы либо получаете значение null, либо формат, отличный от JSON. Вот почему, когда ваш код декодирует его в JSON, возникает исключение.

Комментарии:

1. я получаю статус ответа 200, и я не получил значение null или не формат json. Я могу позвонить, а затем отобразить его из своего API laravel для Flutter, но я продолжаю получать эту информацию об ошибке.

2. @PremanTerminal если вы не получаете JSON, то вам не следует использовать json.decode

3. if (response.statusCode == 200) { var data = result['data']; print(data); if (data.isNotEmpty) { setState(() { ... judul = data['judul'].toString(); body_portal = data['body_portal'].toString(); created_at1 = Jiffy(data['created_at']).fromNow().toString(); link = data['link'].toString(); dokumenportal = data['dokumen_portal'].toString(); ... }); } }

4. Я получаю сообщение json, которое я могу вызвать, а затем отобразить его из моего API laravel для Flutter, но я продолжаю получать информацию об ошибке…

5. @PremanTerminal попробуйте print(response.body) проверить, является ли это JSON или нет.

Ответ №2:

Мое предположение, основанное на предоставленной вами информации, заключается в том, что response.body это недопустимый JSON. Брошенное предупреждение действительно совпадает с ним. Можете ли вы выйти из response.body системы, прежде чем обращаться json.decode() к нему, и подтвердить эту теорию?

Кроме того, вы говорите, что пытаетесь вставить HTML — почему он декодируется из JSON? Возможно, вы можете вообще пропустить декодирование, если вас интересует только исходные данные http.get() запроса.

Комментарии:

1. причина, по которой я получил свой формат html-кода из json, потому что я получил его из API для отображения на мобильном устройстве-flutter.