大家好,又见面了,我是你们的朋友全栈君。
json_encode是将数值转换成json 格式,json_decode()函数将json数据转换成数组
flutter 进行数据传递需要进行序列号 进行编码 解码
要序列化一个ServiceInfoModel ,我们只是将该ServiceInfoModel 对象传递给该JSON.encode
方法。我们不需要手动调用toJson
这个方法,因为JSON.encode
已经为我们做了。
一个usebean对象
class User {
User(this.id, this.name);
int id;
String name;
//jsonDecode(sting) ->就是fromJson过程 转成结果为map
User.fromJson(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
}
//jsonEncode(user) ->就是tojson过程
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['name'] = this.name;
return data;
}
}
进行jsonencode 和jsondecode进行编码解码
/// 用户登录。简单起见,返回User
Future<User> login(String mobile, String sms) async {
User user = User(1, '程序员磊哥');
print('登录成功: $user');
var data = jsonEncode(user);
print("jsonEncode转换的结果对象转为json过程" + data);
Map user2 = jsonDecode(data.toString());
print("jsonDecode转换的结果为map并得到map的id值为" + user2["id"].toString());
User user3 = User.fromJson(jsonDecode(data.toString()));
print("jsonDecode转换的结果为map再用 User.fromJson(string)转为对象use" + user3.name);
return user;
}
解码 编码后运行结果
I/flutter (17450): jsonEncode转换的结果对象转为json过程{"id":1,"name":"程序员磊哥"}
I/flutter (17450): jsonDecode转换的结果为map并得到map的id值为1
I/flutter (17450): jsonDecode转换的结果为map再用 User.fromJson(string)转为对象use程序员磊哥
I/flutter (17450): 加载首页数据...
I/flutter (17450): 加载首页数据完成
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160614.html原文链接:https://javaforall.cn