Flutter:如何将 Json 转换为 dart 中的模型类

古森姆森

我也尝试使用许多在线转换器将下面的 json 转换为 dart 类。但是当我实现该代码不起作用并给我一些错误时。

json:

{
    "sections": [
        {
            "id": "863",
            "title": "الفصل الاول (1)",
            "course_id": 110011,
            "description": "",
            "order": "2",
            "percent": 16.666666666666664,
            "items": [
                {
                    "id": 110167,
                    "type": "lp_quiz",
                    "title": "الإختبار",
                    "preview": false,
                    "duration": "01 hours",
                    "graduation": "failed",
                    "status": "completed",
                    "locked": false
                }
            ]
        }
    ]
}
爱门说

你可以使用这个网站来隐藏它,我一直在使用它,它工作正常这是你转换为dart 类后的 json 代码:

import 'dart:convert';

ModelClass modelClassFromJson(String str) => ModelClass.fromJson(json.decode(str));

String modelClassToJson(ModelClass data) => json.encode(data.toJson());

class ModelClass {
    ModelClass({
        this.sections,
    });

    List<Section> sections;

    factory ModelClass.fromJson(Map<String, dynamic> json) => ModelClass(
        sections: List<Section>.from(json["sections"].map((x) => Section.fromJson(x))),
    );

    Map<String, dynamic> toJson() => {
        "sections": List<dynamic>.from(sections.map((x) => x.toJson())),
    };
}

class Section {
    Section({
        this.id,
        this.title,
        this.courseId,
        this.description,
        this.order,
        this.percent,
        this.items,
    });

    String id;
    String title;
    int courseId;
    String description;
    String order;
    double percent;
    List<Item> items;

    factory Section.fromJson(Map<String, dynamic> json) => Section(
        id: json["id"],
        title: json["title"],
        courseId: json["course_id"],
        description: json["description"],
        order: json["order"],
        percent: json["percent"].toDouble(),
        items: List<Item>.from(json["items"].map((x) => Item.fromJson(x))),
    );

    Map<String, dynamic> toJson() => {
        "id": id,
        "title": title,
        "course_id": courseId,
        "description": description,
        "order": order,
        "percent": percent,
        "items": List<dynamic>.from(items.map((x) => x.toJson())),
    };
}

class Item {
    Item({
        this.id,
        this.type,
        this.title,
        this.preview,
        this.duration,
        this.graduation,
        this.status,
        this.locked,
    });

    int id;
    String type;
    String title;
    bool preview;
    String duration;
    String graduation;
    String status;
    bool locked;

    factory Item.fromJson(Map<String, dynamic> json) => Item(
        id: json["id"],
        type: json["type"],
        title: json["title"],
        preview: json["preview"],
        duration: json["duration"],
        graduation: json["graduation"],
        status: json["status"],
        locked: json["locked"],
    );

    Map<String, dynamic> toJson() => {
        "id": id,
        "type": type,
        "title": title,
        "preview": preview,
        "duration": duration,
        "graduation": graduation,
        "status": status,
        "locked": locked,
    };
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章