#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): ^
Ответ №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.