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() 方法都需要单元测试以便验证正确的行为。