Làm việc với JSON trong Dart
🎯 Mục tiêu: Parse và encode JSON.
💡 dart:convert
import 'dart:convert';
// JSON String → Map
var jsonString = '{"name": "Alice", "age": 25}';
var map = jsonDecode(jsonString);
print(map['name']); // Alice
// Map → JSON String
var json = jsonEncode({'name': 'Bob', 'age': 30});
print(json); // {"name":"Bob","age":30}📝 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,
};
}
// Usage
var user = User.fromJson(jsonDecode(jsonString));
var json = jsonEncode(user.toJson());📱 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
-
jsonDecodeđể parse -
jsonEncodeđể stringify - Tạo
fromJsonvàtoJsoncho models
Last updated on