【问题标题】:Flutter : FormatException: Unexpected character (at character 1) HTMLFlutter:FormatException:意外字符(在字符1处)HTML
【发布时间】:2021-10-10 06:09:22
【问题描述】:

我尝试插入我的 html 文本以显示在我的颤振应用程序上,但我收到了一些警告。 但结果很好。

我的代码:

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

如何解决此警告? 结果: I/flutter (8104): FormatException: Unexpected character (at character 1) 我/颤振(8104): 我/颤动(8104):^ I/flutter (8104): FormatException: Unexpected character (at character 1) 我/颤振(8104): 我/颤动(8104):^

html flutter

【问题讨论】:

    标签: html flutter android-studio mobile flutter-html


    【解决方案1】:

    问题出在final result = json.decode(response.body); 在您的响应正文中,您得到的是 null 或非 JSON 格式。这就是为什么当您的代码将其解码为 JSON 时会出现异常。

    【讨论】:

    • 我得到响应状态 200 并且我没有得到空值或不是 json 格式。我可以从我的 laravel API 调用然后将其显示到 Flutter,但我不断收到该错误信息。
    • @PremanTerminal 如果你没有得到 JSON,那么你不应该使用 json.decode
    • 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(); ... }); } }
    • 我得到一个可以调用的 json 老兄,然后将其从我的 laravel API 显示到 Flutter,但我不断收到该错误信息...
    • @PremanTerminal 尝试 print(response.body) 并检查它是否是 JSON。
    【解决方案2】:

    根据您提供的信息,我的猜测是 response.body 不是有效的 JSON。抛出的警告与它匹配。你可以在调用json.decode() 之前注销response.body 并验证这个理论吗?

    另外,您是说您正在尝试插入 HTML - 为什么它是从 JSON 解码的?当您只对 http.get() 查询的原始输出感兴趣时,也许您可​​以完全跳过解码。

    【讨论】:

    • 我从 json 获得我的 html 代码格式的原因是因为我从 API 获得它以在 mobile-flutter 上显示它。
    猜你喜欢
    • 2020-08-31
    • 2020-06-16
    • 2021-03-30
    • 2019-09-04
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 2021-08-29
    • 2020-08-12
    相关资源
    最近更新 更多