Flutter 嵌套 JSON 解析

2024-01-12

我这里有一个嵌套的 JSON api:

[
  {
    "Employee": {
      "Name": "Michael Jackson",
      "Identification": "881228145031",
      "Company": "Test Corporate",
      "DateOfBirth": "1988-12-28",
      "Entitlements": {
        "GP": {
          "Entitlement": "10000",
          "Utilisation": "500",
          "Balance": "9500"
        },
        "OPS": {
          "Entitlement": "10000",
          "Utilisation": "500",
          "Balance": "9500"
        },
        "IP": {
          "Entitlement": "50000",
          "Utilisation": "17000",
          "Balance": "33000"
        },
        "Dental": {
          "Entitlement": "0.00",
          "Utilisation": "0.00",
          "Balance": "0.00"
        },
        "Optical": {
          "Entitlement": "500",
          "Utilisation": "0.00",
          "Balance": "500"
        },
        "EHS": {
          "Entitlement": "1000",
          "Utilisation": "250",
          "Balance": "750"
        }
      }
    },
    "Dependents": [
      {
        "Name": "Kim",
        "Relationship": "Parent",
        "Entitlements": {
          "GP": {
            "Entitlement": "10000",
            "Utilisation": "500",
            "Balance": "9500"
          },
          "OPS": {
            "Entitlement": "10000",
            "Utilisation": "500",
            "Balance": "9500"
          },
          "IP": {
            "Entitlement": "50000",
            "Utilisation": "17000",
            "Balance": "33000"
          },
          "Dental": {
            "Entitlement": "800",
            "Utilisation": "200",
            "Balance": "600"
          },
          "Optical": {
            "Entitlement": "500",
            "Utilisation": "0.00",
            "Balance": "500"
          },
          "EHS": {
            "Entitlement": "1000",
            "Utilisation": "250",
            "Balance": "750"
          }
        }
      },
      {
        "Name": "Tim",
        "Relationship": "Spouse",
        "Entitlements": {
          "GP": {
            "Entitlement": "10000",
            "Utilisation": "500",
            "Balance": "9500"
          },
          "OPS": {
            "Entitlement": "10000",
            "Utilisation": "500",
            "Balance": "9500"
          }
        }
      }
    ]
  }
]

如您所见,JSON 文件在两个文件中都有相同的嵌套Employee and 家属 called 权利里面有一些地图。

两者的基本模型类Employee and 家属如下面所述:

crm_single_user_model.dart(员工模型)

class SingleUser{

  final String name, identification, company, dob;

  SingleUser({this.name, this.identification, this.company, this.dob});

  factory SingleUser.fromJson(Map<String, dynamic> ujson){

    return SingleUser(
      name: ujson["Name"].toString(),
      identification: ujson["Identification"].toString(),
      company: ujson["Company"].toString(),
      dob: ujson["DateOfBirth"].toString()
    );
  }
}

crm_dependent_list_model.dart(家属模型)

class DependantModel{

  String name;
  String relationship;

  DependantModel({this.name, this.relationship});

  factory DependantModel.fromJson(Map<String, dynamic> depjson){

    return DependantModel(
      name: depjson["Name"].toString(),
      relationship: depjson["Relationship"].toString()
    );
  }
}

我的问题是如何为权利创建模型类?

我似乎无法想出一个解决方案来创建一个地图内有大量地图的模型类。

非常感谢您在此事上的帮助。


尝试看看那个例子

https://medium.com/flutter-community/parsing-complex-json-in-flutter-747c46655f51 https://medium.com/flutter-community/parsing-complex-json-in-flutter-747c46655f51

class Product {
  final int id;
  final String name;
  final List<Image> images;

  Product({this.id, this.name, this.images});
}

class Image {
  final int imageId;
  final String imageName;

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

Flutter 嵌套 JSON 解析 的相关文章

  • 将下拉项定位在按钮 Flutter 下方

    我正在拼命寻找一种方法将项目放置在按钮下方 正如您所看到的 如果先前选择了第一项 则列表顶部与按钮处于同一级别 但是 如果我之前选择了最后一项 则下拉列表的位置使列表在按钮级别结束 这不是我想要的行为 我希望它始终位于第一个屏幕截图中 即使
  • 在flutter中从cloud_firestore删除文档

    我正在返回一个streamBuilder在streamBuider内部 它返回一个小部件 现在我已经用可忽略的方式包装了一个小部件 以便我可以从 cloud firestore 的集合中删除该文档 showingTheSelectedDat
  • 为什么 Twitter API 返回错误的推文 ID?

    我使用 Twitter API 来检索用户主页时间线推文 我使用 json 响应格式 最近推文 ID 在 API 中只是 id 被重新调整错误 举个例子 通常它应该像这样返回 id 14057503720 示例来自twitter控制台 但是
  • 对象数组的 JSON 模式定义

    我见过这个其他问题 https stackoverflow com q 10809459 940217但它并不完全相同 我觉得我的问题更简单 但就是不起作用 我的数据如下所示 loc a value 1 toll null message
  • 使用 Java-Large 文件查询 JSON 文件

    我正在尝试使用 java 解析下面的 JSON 文件 我需要能够 按 ID 或名称或对象中的任何字段搜索文件 也在字段中搜索空值 搜索应返回整个对象 该文件将会很大 并且搜索应该仍然很省时 id 1 name Mark Robb last
  • 如何使用 Newtonsoft Json.NET 处理 JSON 文档中的对象引用?

    我有一个 json 数据集 带有标准数据字段和参考字段 它看起来像这样 id 1 name Book description Something you can read id 2 name newspaper description re
  • Android Json结果处理

    我有这样的 Json 结果 array getJSONObject j 执行代码 WAT2 FreeIssuePrefix DisPaySchedulePrefix NextFreeIssueNo 1 NextReturnNo 20 Upl
  • Spring boot 404错误自定义错误响应ReST

    我正在使用 Spring boot 来托管 REST API 即使浏览器正在访问 URL 以及自定义数据结构 我也希望始终发送 JSON 响应 而不是使用标准错误响应 我可以使用 ControllerAdvice 和 ExceptionHa
  • go json marshal 的默认大小写选项?

    我有以下结构要导出为 json type ExportedIncident struct Title string json title Host string json host Status string json status Dat
  • shell解析json并循环输出组合变量

    杰斯克喜欢我之前的话题 https stackoverflow com questions 74063588 shell parsing json contains spaces in string 我知道如何解析带有空格的简单 json
  • 如何将 JsonNode 转换为 ObjectNode

    我有一个com fasterxml JsonNode带有一些数据的对象 我需要对其数据进行一些操作 我用谷歌搜索答案但没有得到正确的答案 您能建议我如何操作 JsonNode 数据吗 我也尝试过转换JsonNode to ObjectNod
  • 如何在flutter android插件包中处理android生命周期

    我需要知道 android 插件包中 flutter 应用程序视图的当前状态 现在 我观察颤振视图中的状态https docs flutter io flutter widgets WidgetsBindingObserver class
  • Dart,无法调用Generic的方法

    我正在尝试创建一个抽象数据模型 在其中传递数据并输入 a 然后返回列表 但是当我无法调用时T fromJson 方法 注意传递类型有方法fromJson class DataList
  • 从嵌入的谷歌地图中提取标记坐标

    对此还很陌生 所以请耐心等待 我需要从嵌入的谷歌地图中提取标记坐标 示例链接是http www picknpay co za store search http www picknpay co za store search我想提取搜索时地
  • 如何使用 PHP 通过 JSON 发送 HTML 元素?

    以下功能 try query this gt pdo gt prepare SELECT FROM bookings WHERE TourID AND dTourDate and Status NOT LIKE Cancelled quer
  • 最小有效 JSON 是多少?

    我仔细阅读了 JSON 描述http json org http json org 但我不确定我是否知道这个简单问题的答案 最小可能的有效 JSON 字符串是什么 string 该字符串是有效的 JSON 吗 42简单的数字是有效的 JSO
  • Flutter 错误:找不到正确的 ScopedModel

    我正在尝试在我的 flutter 项目中创建一个范围模型 但我似乎无法弄清楚为什么会出现错误 这个作用域模型实现有什么问题 我有一个带有底部导航器的主页 在个人资料选项卡中 我在树深处的小部件中获取了我需要的关注者列表 因此我尝试使用sco
  • 将 Python 列表(JSON 或其他)插入 MySQL 数据库

    所以我在Python中有一堆数组数据 嗯 相反 我有一个清单 我试图将此数组存储到 MySQL 数据库中的单个单元格中 我尝试使用 JSON 来序列化我的数据 但也许我不明白 JSON 是如何工作的 因此 在连接到我的数据库后 我尝试了上游
  • Vue: vue-i18n: 无法翻译 keypath 的值,使用 keypath 的值作为默认值

    我正在使用 Vue 我想展示三种语言 英语 他加禄语和宿务语 现在我有错误 无法转换键路径 NavbarMobile home 的值 使用 keypath 的值作为默认值 我通过 console log this i18n locale 检
  • 使用 catch all 字典属性将 json 序列化为对象

    我想使用 JSON net 反序列化为对象 但将未映射的属性放入字典属性中 是否可以 例如给定 json one 1 two 2 three 3 和 C 类 public class Mapped public int One get se

随机推荐

  • 如何在 log4j2 属性中设置类的日志级别

    在 log4j 中 我可以在属性文件中指定一个类以在调试级别进行日志记录 如下所示 log4j logger com mycompany mypackage ClassName DEBUG 我如何在 log4j2 中执行此操作 注意我仍然需
  • 角材质内的 routerLink

    a a
  • 数据库设计:成员表是单独的还是全部在一张表中?

    我想创建一个包含个人信息和登录详细信息的朋友表 将members表分成2个表更好 一个包含最少的细节 其次是其他细节 还是留在一张桌子上 我有很多包含成员外键的表 这在很大程度上取决于那些 其他 细节是什么 这是一个常见且有趣的问题 乍一看
  • 方法参数级别的 @ModelAttribute 注释的含义是什么?

    Spring 3 参考资料告诉我们 当你把它放在一个方法上时 范围 ModelAttribute映射一个 模型属性具体 带注释的方法参数 我不明白这个魔咒 因为我确定模型对象的别名 如果使用则为键值 ModelMap作为返回类型 在执行请求
  • 如何忽略已经提交的文件?

    之前 以下是我的 gitignore file config database yml DS Store 后来我创建了一个app config yml文件放在 config 目录中并提交 现在 我意识到我不需要app config ymlg
  • 无法从 onBackgroundMessage 启动 Activity

    刚刚创建了一个新的 Flutter 应用程序 最终当我收到通知时尝试打开我的应用程序或显示全屏活动 例如电话 现在只是尝试控制台登录通过后台消息处理程序调用的本机类 当我发送通知时收到此错误 您看到我做错了什么吗 我应该有不同的方法来处理这
  • SQL Server 快进游标

    人们普遍认为 应尽可能避免在存储过程中使用游标 用基于集合的逻辑等替换 如果您需要迭代某些数据 并且可以以只读方式执行 那么快进 只读前进 游标是否比 while 循环效率更高或更低 根据我的调查 光标选项通常速度更快 并且使用更少的读取和
  • 如何在 Thymeleaf 中使用 Dates.Format 和区域设置

    我正在尝试使用 Thymeleaf 中的区域设置格式化日期 我已经使用了dates format td td td td 但以上都不起作用 我基于这个已经解决的问题https github com thymeleaf thymeleaf e
  • .NET 中的货币格式

    我试图了解货币格式在 NET 框架中的工作原理 据我了解 Thread CurrentCulture NumberFormatInfo CurrencySymbol 包含当地文化的货币符号 但在我看来 在现实世界中 特定文化和货币符号之间并
  • 方法头中“静态”的含义是什么?

    我想了解 writeNumbers 方法标头中的 static 一词有何作用 public class DisplayClass param args public static void main String args writeNum
  • 接收参数并移动可能失败的函数的语义(强大的异常安全性)

    我有一个函数 可以对作为接收器参数传入的大量数据进行操作 我的BigDatatype 已经支持 C 11 并且带有功能齐全的移动构造函数和移动赋值实现 因此我可以摆脱困境 而不必复制该死的东西 Result processBigData B
  • 这段C代码有什么问题吗?

    我的源代码 include
  • 为 Java 程序制作 OSX 应用程序包,而无需用户界面在应用程序运行时保留在 Dock 中

    今天我尝试为 Java 应用程序创建我的第一个 OSX 应用程序包 它有效 但有一个问题 我找不到任何解决方案 Java 应用程序是一个没有用户界面的 Web 服务器 当我启动应用程序包时会发生以下情况 应用程序图标在 Dock 中弹跳几次
  • 查找一组垂直线段中所有不相交的交点

    我有一组由 y1 和 y2 坐标定义的垂直区域 其中 y1 是每个区域的起点 y2 是终点 我的坐标系原点是左上角 因此 y2 始终大于 y1 这是一个例子 var regions 10 100 50 120 60 180 140 220
  • 带有托管扩展框架 (MEF) 的工厂模式

    我正在尝试使用 MEF 实现工厂模式 这是我的解决方案 核心项目 IClass ObjectFactory static Class This is where the problem is 项目A Export typeof IClass
  • 删除 SQL Server 中的记录后重置身份种子

    我已将记录插入 SQL Server 数据库表中 该表定义了主键 并且自动增量身份种子设置为 是 这样做主要是因为在 SQL Azure 中 每个表都必须定义主键和标识 但由于我必须从表中删除一些记录 这些表的身份种子将受到干扰 并且索引列
  • 是否可以使用隐式证据来强制抽象类型之间的静态类型兼容性?

    假设具有以下特征 trait A type B def a A A 我使用抽象类型是因为我不想每次需要 A 时都在类型签名中拖动 B 是否仍然可以向 方法添加任何隐式证据 使用 我的第一反应是拒绝 但 scala 之前就给我带来了惊喜 任何
  • Spring Integration - 当服务激活器组件中发生异常时写入错误队列

    我开始使用 Spring 集成 如果可能的话 我不知道如何解决这种情况 我想自动 捕获 应用程序的服务激活器中可能发生的每个异常 并将此错误发送到专用队列 网关不是一个解决方案 因为我需要一些自定义代码 所以如果我正确理解了原理 我必须使用
  • 使图像文件在 Lollipop 上的 Android Gallery 中可见

    我试图使应用程序中拍摄的一些照片在图库中可见 以便可以在应用程序外部共享和查看它们 但我想将图像本身保留在应用程序的数据目录中 以便当应用程序被删除 它们被删除 因此它们存储在 sdcard Android data appID 图片 子文
  • Flutter 嵌套 JSON 解析

    我这里有一个嵌套的 JSON api Employee Name Michael Jackson Identification 881228145031 Company Test Corporate DateOfBirth 1988 12