解码 JSON 时出现“意外字符”

2023-11-21

以下是代码:

    static TodoState fromJson(json) {
          JsonCodec codec = new JsonCodec();
            List<Todo> data = codec.decode(json["todos"]);
            VisibilityFilter filter = codec.decode(json['visibilityFilter']);

     return new TodoState(todos: data,
                          visibilityFilter: filter);
  }

Android Studio 产生的错误:

[VERBOSE-2:dart_error.cc(16)] 未处理的异常: FormatException:意外的字符(在字符 3 处)

知道如何让它发挥作用吗?

enter image description here

这是 Redux 生成的 Json 的输出。


您的代码以及您尝试解析的字符串存在问题。我会尝试找出该字符串是在哪里生成的,或者如果您自己做,也可以发布该代码。

有效的 Json 在名称周围使用“”,在字符串周围使用“”。您的字符串在名称周围不使用任何内容,在字符串周围不使用 '' 。

如果将其粘贴到 DartPad 中,第一个将出错,而第二个将成功:

import 'dart:convert';

void main() {
  JsonCodec codec = new JsonCodec();
  try{
    var decoded = codec.decode("[{id:1, text:'fdsf', completed: false},{id:2, text:'qwer', completed: true}]");
    print("Decoded 1: $decoded");
  } catch(e) {
    print("Error: $e");
  }

  try{
    var decoded = codec.decode("""[{"id":1, "text":"fdsf", "completed": false},{"id":2, "text":"qwer", "completed": true}]""");
    print("Decoded 2: $decoded");
  } catch(e) {
    print("Error: $e");
  }
}

您的代码的问题是您希望解码器直接解码到列表。它不会这样做;它将解码为dynamic这恰好是一个List<dynamic>谁的物品恰好是Map<String, dynamic>.

See flutter的Json文档有关如何在 Dart 中处理 json 的信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解码 JSON 时出现“意外字符” 的相关文章

  • React Native 中循环 Json 并显示

    How do I go about looping the result i retrieved from Json render function console log this state list contents
  • jQuery 解析 JSON

    当我尝试解析 JSON 验证的字符串时收到此错误 JSON parse 意外字符 当我删除需要转义的字符 style width 400px 时 它完美地工作 我缺少什么 在使用 parseJSON 之前是否有一种独特的方法来转义字符 va
  • NSData 不接受有效的 base64 编码字符串

    我正在 iOS 7 客户端实现 JSON Web Token 身份验证 效果很好 我的应用程序接收令牌 并可以使用它们对我的服务器进行经过身份验证的调用 现在 我希望我的客户端代码检查令牌的过期日期 以便它知道何时重新进行身份验证 检查 J
  • JSON 从子对象获取父对象

    我怎样才能得到discount值如果品牌id 983 示例 JSON prods info rate 100 grocery brand A brand id 983 brand B
  • 如何将 Flutter 应用连接到 tcp 套接字服务器?

    我很难将 Flutter 应用程序连接到服务器上的网络 tcp 套接字 我知道我必须使用某种中间选项 以便在 tcp 套接字到 flutter 以及 Flutter 到 tcp 套接字之间转换数据 任何想法 信息如何实现这一目标 问题是如何
  • Twitter api 文本字段值被截断

    为什么文本字段值被截断以及如何获得完整的值 截至目前 我正在尝试获取如下所示的文本字段值 do if let responseObject try NSJSONSerialization JSONObjectWithData respons
  • Emoji 字符无法编码为 JSON

    我有一个UITextView我称之为messageField 其中的数据messageField is POST ed 以 JSON 格式发送到服务器 当用户输入表情符号字符时 我无法将数据编码为JSON 我认为 Emoji 使用 Unic
  • PyQt:数据不可 JSON 序列化

    我是 PyQt GUI 的新手 我想获取a的数据QLineEdit文本框 为此我正在使用text 方法 我正在获取数据 但数据类型是QString 我需要将其作为 json 数据传输到服务器 为此我使用json dumps 方法 但我收到错
  • 从后台恢复后,Flutter GoogleMap 为空白

    我遇到以下问题 我的 Flutter 应用程序使用 GoogleMap 地图最初加载得很好 但是 如果我将应用程序置于后台并稍后恢复 地图将保持空白 Google 徽标仍然显示 就像未指定 API 密钥时发生的情况一样 我的多边形叠加层也不
  • Flutter - 选择 TextFormField 时键盘不显示

    我目前遇到一个问题 当我选择任何一个时 键盘不会出现TextFormFielda 内的小部件Form小部件 这是表单的代码 位于我的内部CreateAccountForm有状态的小部件 import package flutter mate
  • 将 JSON 数据导入 Google 表格

    我从 Web 服务中提取数据 其格式为 JSON 我正在为 Google Sheets 编写一个 Google Apps 脚本 它将为我填充数据 我的问题是 我似乎无法解析它 Doing var dataset myJSONtext Bro
  • 在 Django 模板中通过键访问字典

    我正在将字典从我的视图传递到模板 所以 key1 value1 key2 value2 传入并循环键 值对很好 但是我还没有找到从特定键直接在视图中访问的优雅解决方案 例如 key1 例如 bu json items key1 我可以使用一
  • Flutter:带有嵌套导航的底部导航栏,并在选项卡更改时恢复根页面

    我是 Flutter 开发的新手 我已经阅读了多个教程来了解底部导航栏 我已经尝试过这些教程 但无法达到我的要求 我遵循的教程 https codewithandrea com articles multiple navigators bo
  • dart中解析对象(不支持的操作:无法添加到固定长度列表)

    我有一个用户对象 当用户登录 注册时 该对象保存到云 Firestore 数据库中 因此 当用户登录时 将从数据库中检索用户对象 并且一切正常 直到我尝试对列表 usersProject 执行 添加 操作 Add the new proje
  • 更改项目名称

    Flutter项目的项目名称可以修改吗 项目名称是指您在创建 flutter 项目时提供的名称flutter create name 这取决于您想要实现的目标 如果您想更改手机菜单中显示的应用程序名称以及应用程序图标 则必须更改androi
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • Flutter 中有预填充数据库使用的示例吗?

    Flutter 中有预填充数据库使用的示例吗 我不需要 CRUD 示例 此时我只需要从数据库读取数据即可 我是 Flutter 新手 所以一步一步的教程会很好 您可以将您的应用程序与预填充的 sqlite 数据库捆绑在一起assets文件夹
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q
  • 创建一个 JSON 对象以在 Spring Boot 测试中发布

    我想编写基本测试来使用 JSON 负载在 users URL 上执行 POST 请求来创建用户 我找不到如何将新对象转换为 JSON 到目前为止有这么多 这显然是错误的 但解释了目的 Test public void createUser
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS

随机推荐