user.dart
class User { final String name; final String email; User(this.name, this.email); User.fromJson(Map<String, dynamic> json) : name = json['name'], email = json['email']; Map<string, dynamic> toJson() => { 'name': name, 'email': email, }; }
hello.dart
import 'dart:convert'; import 'user.dart'; String jsonString = ''' { "name": "John Smith", "email": "john@example.com" } '''; void main() { Map<String, dynamic> userMap = jsonDecode(jsonString); var user = User.fromJson(userMap); print('Howdy, ${user.name}!'); print('We sent the verification link to ${user.email}.'); String json = jsonEncode(user); print(json); }
被调用的代码根本不需要担心序列化 JSON 数据的问题。然而,你仍然需要模型类。你当然会希望序列化数据在一个生产环境的应用里能奏效。在实践中,User.fromJson() 和 User.toJson() 方法都需要单元测试以便验证正确的行为。