无法将JSON值提取到flutter中的字段

问题描述

我能够成功获取JSON数据,但无法获取JSON数据的字段并在flutter中建立列表。

这是我用来获取字段数据的代码

OrderModel.fromJson(Map<String,dynamic> json) {
    error = json['error'];
    if (json['content'] != null) {
      content = new List<OrderContent>();
      json['content'].forEach((v) {

        content.add(new OrderContent.fromJson(v));
      });
    }
  }

json['content']Map<String,dynamic>。 在.forEach((v)中,我应该写些什么来获取数据?我对这种波动和JSON学习是陌生的,我认为仅在这一点上是错误的

我在下面工作的JSON数据结构

{
    "error": "false","content": {
        "16": [
            [
                {
                    "sod_pk": "31688","soh_fk": "23660","sqd_fk": "33294","order_header": {
                        "soh_pk": "23660","order_no": "16",}
                }
            ],[
                {
                    "sod_pk": "31689","sqd_fk": "33293",}
                }
            ]
        ],"18": [
            [
                {
                    "sod_pk": "31744","soh_fk": "23702","sqd_fk": "33354","order_header": {
                        "soh_pk": "23702","order_no": "18",[
                {
                    "sod_pk": "31745","sqd_fk": "33356",]
    }
}

上面的JSON数据结构在每个商品详细信息中都没有嵌套的订单,必须在所有订单号中获取订单,然后在订单的各个数据中获取

解决方法

您可以在下面复制粘贴运行完整代码
步骤1:您可以使用df1.columns = [int(master[master.Question==c]['ID'].values) for c in df1.columns] 进行解析,其中payloadFromJson字段为content,请参见下面的完整代码
步骤2:显示Map<String,List<List<OrderContent>>>FutureBuilder

工作演示

enter image description here

完整代码

ListView.separated
,

您的json没有优化,因此难以处理。 首先,您会看到json ['content']不是列表,因此无法使用foreach来获取数据。它是一个对象(地图){...}。但是颤振并不确切地知道它是什么的映射,因此您必须进行投射。其次,要获得sod_pk,例如,您有2个列表。没必要这是代码

  final content = (data['content'] as Map<String,dynamic>);
  final sod_pk = content['16'].first.first['sod_pk'];
  print(sod_pk);

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...