json,flutter,dart"/>

首页 > 解决方案 > 使用动态地图创建飞镖模型类json

问题描述

我有这个 json 我想在颤振中创建一个模型以进行休息 api 调用 - 但我无法弄清楚模型在 dart 中的样子。

    {
  "members": [
    {
      "user": "string",
      "joined": 0,
      "metadata": {
        "some value": "XXXX",
        "othervalue": "asddas",
        "somethingelse": "dada"
      }
    }
  ]
}

主班

我的主要课程看起来像这样

`
import "metadata.dart";

class Queuers {
  String user;
  int joined;
  Metadata metadata;

  Queuers({this.user, this.joined, this.metadata});

  factory Queuers.fromJson(Map<String, dynamic> json) {
    return Queuers(
      user: json['user'],
      joined: json['joined'],
      metadata: json['metadata'] != null
          ? new Metadata.fromJson(json['metadata'])
          : null,
    );
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['user'] = this.user;
    data['joined'] = this.joined;
    if (this.metadata != null) {
      data['metadata'] = this.metadata.toJson();
    }
    return data;
  }
}
`

元数据类-我尝试将元数据动态数据解析为其他内容,但失败失败..

class Metadata {
  // String additionalProp1;
  // String additionalProp2;
  // String additionalProp3;
  Map<String, dynamic> metadata;

  Metadata({this.metadata});

  factory Metadata.fromJson(Map<String, dynamic> json) {
    return Metadata(
      metadata: json['metadata'],
    );

    // return Metadata(
    //   additionalProp1: json['additionalProp1'],
    //   additionalProp2: json['additionalProp2'],
    //   additionalProp3: json['additionalProp3'],
    // );
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['additionalProp1'] = this.additionalProp1;
    data['additionalProp2'] = this.additionalProp2;
    data['additionalProp3'] = this.additionalProp3;
    return data;
  }
}

注释掉的原始代码 - 我试图更改 fromJson 方法以返回元数据映射。

标签: flutterdart

解决方案


推荐阅读