如何解析flutter中的map Json列表?

2024-02-08

enter image description hereenter image description hereenter image description hereI have one Json structure with three maps, one is list of products then total and tax. I have to parse this json structure in flutter. I created on model class. Now i am getting the error in type casting.

怎么解决这个问题呢?

JSON 结构:

{
  "products" : [
     {                  
       "cart_id": "7",      
     },          
     {                  
       "cart_id": "7",
     }     
  ],
  "total": 100,
  "tax": 100
}

型号类别:

class CartModel {   
    List<Product> produtcts;
    double total;

    CartModel({this.produtcts, this.total});

    factory CartModel.fromJson(Map<String, dynamic> json) {
        var list = json['products'] as List;
        print(list.runtimeType);
        List<Product> products = list.map((i) => 
           Product.fromJson(i)).toList();

        return CartModel(
            produtcts: products, total: json['total'],);
    }
}

class Product {
    String cartId;

    Product({this.cartId,});

    factory Product.fromJson(Map<String, dynamic> json) {
        return Product(     
            productId: json['cart_id'],
        );
    }
}

不要将产品数组转换为列表,而是尝试将其用作Iterable.

对我来说,以下代码有效(请注意json.decode(String)方法是从导入的dart:convert包裹):

var data = '{"products":[{"cart_id": "7"},{ "cart_id": "7"}], "total": 100, "tax": 100}';
var decoded = json.decode(data);   
var cartModel = CartModel.fromJson(decoded);

class CartModel {   
    List<Product> produtcts;
    int total;

    CartModel({this.produtcts, this.total});

    factory CartModel.fromJson(Map<String, dynamic> json) {
        Iterable list = json['products'];
        print(list.runtimeType);
        List<Product> products = list.map((i) => 
           Product.fromJson(i)).toList();

        return CartModel(
            produtcts: products, total: json['total'],);
    }
}

class Product {
    String productId;

    Product({this.productId,});

    factory Product.fromJson(Map<String, dynamic> json) {
        return Product(     
            productId: json['cart_id'],
        );
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解析flutter中的map Json列表? 的相关文章

随机推荐

  • Perl 6 对象如何找到可能位于父类或角色中的多重方法?

    考虑这个例子 其中子类有一个没有签名的 multi 方法和一个带有 slurpy 参数的方法 class Foo multi method do it put Default multi method do it Int n put Int
  • 如何访问 Facebook 开发者应用程序?

    当我点击 Facebook 开发者应用程序 http developers facebook com apps 的链接时 我会被重定向到我的常规 Facebook 页面 社区链接 http www facebook com groups f
  • 如何使用 jQuery 替换 div 的innerHTML?

    我怎样才能实现以下目标 document all regTitle innerHTML Hello World 使用 jQuery 的地方regTitle is my div id regTitle html Hello World
  • JavaScript 中的 Java byteArray 等效项

    我正在尝试确定哪种编码方案将为 jpeg 文件类型提供数字 1 或 40 文件的起始数字 我正在开发的 REST API 需要一个类似于 1 94 43 34 等 的字节数组 在node js中 我可以将字节数组设置为十六进制或任何其他编码
  • 无法使用 Flask 路由到“/login”?

    当我打字时 login作为url 会出错 例如 from flask import Flask url for render template request app Flask name app route login def index
  • 在 Windows 7 任务栏中显示完整的应用程序?

    在 Windows 7 上 是否可以创建要在任务栏中显示的应用程序 我想到的是一个小部件 例如媒体播放器或天气部件等 像下面的模型一样 任何想法 是的 这是可能的 您正在寻找的是工具栏或有时称为 桌面带 http msdn microsof
  • React Native Navigator renderScene 被多次调用

    我已经被 RN Navigator 难住了一段时间 试图弄清楚为什么 Navigator 渲染推送到其堆栈中的所有路由 最初
  • 如何解决:该应用程序正在从后台线程修改自动布局引擎

    当代码的某些部分从主线程以外的其他线程更改 UI 项目时 此错误会记录到控制台 但我怎样才能找到它在哪里执行此操作呢 此应用程序正在从后台线程修改自动布局引擎 的主要问题是 它似乎在实际问题发生后很长时间才被记录 这可能会使故障排除变得非常
  • react-hook-form:使用 onBlur 模式时验证不起作用

    我正在尝试显示错误yup and react hook form当用户选择超过 5 个复选框但未成功时 相反 当选择第七个复选框时会显示错误 这是简化的代码 imports const schema yup object shape opt
  • 需要有关必须显示 250 000 条折线的 Google 地图应用程序的指导

    我正在为我正在开发的使用 Google 地图的应用程序寻求建议 Summary 用户具有用于搜索满足条件的街道段的条件列表 街道段将用 3 种颜色来表示 分别是低于平均水平 平均水平和高于平均水平 然后 用户单击街道路段 查看一个信息窗口
  • 如何在android中垂直均匀分布按钮/布局?

    我有一个类似于计算器的布局 每行 4 个按钮 大约有 5 行 我使用以下方法创建了每一行LinearLayout 我已经成功地通过使用完全填充了每行的宽度android layout weight 1 在每个按钮中LinearLayout
  • Flexbox:重新排序和堆叠列

    我有三列 我想在特定的屏幕尺寸下交换它们的顺序 当前的顺序是两个 1 4 宽度的列 中间有 1 2 宽度 我想将两个1 4宽度的列变成1 2宽度 并在开始时将它们堆叠起来 我可以使用浮动来复制它 但无法找到使用弹性盒的方法 我正在努力让两个
  • 替换无序列表中的值(html)+ JQuery

    D1 nav d1 span text X1 会改变 span D1 span to span X1 span
  • 通过触摸停止和启动动画。目标C

    我制作了一个在屏幕上移动的动画 我的动画连续循环 如何在点击动画图像时停止动画 然后在松开触摸时让动画继续 我知道如何使用 TouchesMoved 来移动指定的按钮 如下所示 CGPoint point event allTouches
  • virtualenv激活后“python”仍然运行系统版本

    我使用以下命令安装了 Python 2 7 configure prefix usr local enable unicode ucs4 enable shared LDFLAGS Wl rpath usr local lib make m
  • Jupyter Lab 中的 pycwt 包出现 ModuleNotFoundError

    我有一个conda环境 我已经安装了wavelet包pycwt https pypi org project pycwt using conda install n myenv c conda forge pycwt 按照规定蟒蛇云 htt
  • ng2-文件上传访问控制来源问题

    我已经使用这个库进行 angular2 文件上传https github com valor software ng2 file upload https github com valor software ng2 file upload
  • 无法编译调用 tgkill 的程序

    我正在尝试编写一个使用 tgkill 向特定线程发送信号的程序 但是每当我用 gcc 编译它时 我都会收到有关 tgkill 未定义引用的错误 我尝试使用 lpthread 进行编译 但没有帮助 我用谷歌搜索了又搜索 但找不到任何答案 我如
  • .NET Excel 文件解析器

    因此 我工作的公司正在寻找一种方法来验证给定的 xls xlsx 文件是否有效 这意味着检查列 行和其他数据 他让我评估 GrapeCity Spread 和 SpreadsheetGear 但我想知道是否还有其他人可以查看其他外部工具的建
  • 如何解析flutter中的map Json列表?

    I have one Json structure with three maps one is list of products then total and tax I have to parse this json structure