我在谷歌和stackoverflow上搜索了一些自动转换库,但并没有像C#那样的库。
我需要在Dart-Flutter中找到这段C#代码的替代方法。
string jsonTokenData = "{my token json data}";
TokenModel getTokenModel = Newtonsoft.Json.JsonConvert.DeserializeObject<GetTokenModel>(jsonTokenData);
更新
- 我已经阅读了文档,并知道如何将模型与json映射
- 这个问题是针对那些熟悉C#上Newtonsoft库工作方式的人
- 如果你不知道Newtonsoft:想法是自动将json数据转换为模型,而无需为每个模型编写映射。我知道还有一种工具可以自动创建每个模型的json映射,但这样会使代码变得荒谬。
第二次更新:由于社区给出的类似问题的建议并没有回答我的问题,因此这是另一个解释:
我有很多模型,这些模型根据客户要求进行更新,或向某些模型添加新功能。所以当发生更新时,我只需要添加已添加到这些模型中的额外属性,而无需每次担心映射、拼写错误或再次使用某些工具来重新生成这些代码。
所以我正在寻找一个函数,它需要两个参数:
- 第一个参数是模型的类型
- 第二个参数是保存数据的json字符串
[然后返回传递类型的对象实例]
举个简单的例子,如果我有这个类:
class Car {
String name;
String type;
}
那么我可以这样保持它的清洁,而不会因使用其他方法使其弄脏:
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,
};
顺便提一下,C#中的lib还可以处理数组、列表和嵌套类。
希望这次解释得更清楚了。