是否有标准方法将 Map 转换为用户定义的类的对象 .
在python中你可以做MyClass(** map),它基本上将 Map 展开为类的构造函数的命名参数 .
任何指针/帮助将不胜感激 .
没有内置方式 .您可以使用其中一个序列化包
https://pub.dartlang.org/packages/json_serializable
https://pub.dartlang.org/packages/built_value
......
您也可以使用named constructor手动实现此功能,如下所示:
import 'package:flutter/material.dart'; Map myMap = {"Users": [ {"Name": "Mark", "Email": "mark@email"}, {"Name": "Rick", "Email": "rick@email"}, ] }; class MyData { String name; String email; MyData.fromJson(Map json){ this.name = json["Name"]; this.email = json ["Email"]; } } class UserList extends StatelessWidget { MyData data; @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar(title: new Text("User List"),), body: new ListView.builder( shrinkWrap: true, itemCount: myMap["Users"].length, itemBuilder: (BuildContext context, int index) { data = new MyData.fromJson(myMap["Users"][index]); return new Text("${data.name} ${data.email}"); }) ); } }
2 回答
没有内置方式 .
您可以使用其中一个序列化包
https://pub.dartlang.org/packages/json_serializable
https://pub.dartlang.org/packages/built_value
......
您也可以使用named constructor手动实现此功能,如下所示: