Flutter开发之——json序列化,总结一下
在Flutter中,我们可以使用内置的dart:convert
库来处理JSON序列化和反序列化。以下是一个简单的例子,演示如何将一个对象序列化为JSON字符串,以及如何将JSON字符串反序列化为对象。
import 'dart:convert';
class User {
final String name;
final int age;
User(this.name, this.age);
// 将User对象转换为Map
Map<String, dynamic> toMap() {
return {
'name': name,
'age': age,
};
}
// 将Map转换为User对象
factory User.fromMap(Map<String, dynamic> map) {
return User(map['name'], map['age']);
}
// 将User对象转换为JSON字符串
String toJson() => json.encode(toMap());
// 将JSON字符串转换为User对象
static User fromJson(String jsonString) =>
User.fromMap(json.decode(jsonString));
}
void main() {
// 创建一个User对象
final user = User('John Doe', 30);
// 序列化
final jsonString = user.toJson();
print(jsonString);
// 反序列化
final userFromJson = User.fromJson(jsonString);
print(userFromJson.name);
print(userFromJson.age);
}
在这个例子中,我们定义了一个User
类,它有两个属性:name
和age
。我们实现了toMap
方法来将对象转换为Map,fromMap
工厂构造方法来从Map创建对象。我们还实现了toJson
方法来将对象转换为JSON字符串,以及fromJson
静态方法来从JSON字符串创建对象。
在main
函数中,我们创建了一个User
对象,将其序列化为JSON字符串,然后再将该JSON字符串反序列化回User
对象。这个过程展示了如何在Flutter中处理JSON数据。
评论已关闭