Làm việc với JSON
🎯 Mục tiêu: Parse và encode JSON.
💡 dart:convert
Phần tiêu đề “💡 dart:convert”import 'dart:convert';
// JSON String → Mapvar jsonString = '{"name": "Alice", "age": 25}';var map = jsonDecode(jsonString);print(map['name']); // Alice
// Map → JSON Stringvar json = jsonEncode({'name': 'Bob', 'age': 30});print(json); // {"name":"Bob","age":30}📝 JSON ↔ Class
Phần tiêu đề “📝 JSON ↔ Class”class User { final String name; final int age;
User({required this.name, required this.age});
factory User.fromJson(Map<String, dynamic> json) { return User( name: json['name'], age: json['age'], ); }
Map<String, dynamic> toJson() => { 'name': name, 'age': age, };}
// Usagevar user = User.fromJson(jsonDecode(jsonString));var json = jsonEncode(user.toJson());📱 Trong Flutter - HTTP
Phần tiêu đề “📱 Trong Flutter - HTTP”Future<User> fetchUser() async { final response = await http.get(Uri.parse('api/user/1'));
if (response.statusCode == 200) { return User.fromJson(jsonDecode(response.body)); } else { throw Exception('Failed to load user'); }}✅ Checklist
Phần tiêu đề “✅ Checklist”-
jsonDecodeđể parse -
jsonEncodeđể stringify - Tạo
fromJsonvàtoJsoncho models