小编Abd*_*mam的帖子

在 dart flutter 中自动将 json 转换为对象

我搜索 google 和 stackoverflow 但没有找到像 C# 中那样的自动转换库

我需要 dart-flutter 中的一些东西来替代 C# 中的这段代码

    string jsonTokenData = "{my token json data}";
    TokenModel getTokenModel = Newtonsoft.Json.JsonConvert.DeserializeObject<GetTokenModel>(jsonTokenData);
Run Code Online (Sandbox Code Playgroud)

更新

  • 我阅读了文档并且知道如何使用 json 映射模型
  • 这个问题问谁知道 Newtonsoft lib 如何在 C# 上工作
  • 如果你不知道Newtonsoft:想法是自动将json数据转换为模型,而不需要为每个模型编写地图。我还知道有一个工具可以自动为每个模型创建带有 json 的地图,但仍然使代码变得荒谬。

更新2:因为我从社区得到了一个类似问题的建议,但没有回答我的问题。所以这是另一种解释:

我有很多模型,这些模型会根据客户的要求及时更新或为某些模型添加新功能。因此,当发生更新时,我只需要添加已添加到这些模型中的额外属性,我不需要每次都担心映射、拼写错误或再次使用某些工具来重新生成这些代码。

所以我要求一个带有两个参数的函数

  • 第一个是模型的类型
  • 第二个是保存数据的 json 字符串

[然后返回的是传递类型的对象实例]

举个简单的例子,如果我有这个类:

class Car {
    String name;
    String type;
}
Run Code Online (Sandbox Code Playgroud)

然后我可以用这种方式保持它的干净,而不必用其他方法让它飞镖:

Car({
        this.name,
        this.type,
    });

    factory Car.fromJson(Map<String, dynamic> json) => Car(
        name: json["name"],
        type: json["type"],
    );

    Map<String, dynamic> toJson() => {
        "name": name,
        "type": type,
    };
Run Code Online (Sandbox Code Playgroud)

顺便说一句,C# …

dart flutter

8
推荐指数
1
解决办法
2446
查看次数

标签 统计

dart ×1

flutter ×1