如何在 flutter 中将对象编码为 Json
How to encode Object to Json in flutter
我有一个主题对象
class Subject {
String subjectName;
int pages;
int fullMarks;
Future<Map<String, dynamic>> toJson() async {
return {
'name': name,
'pages': pages,
'fullMarks': fullMarks,
}
}
}
和学生对象
class Student {
String name;
int rank;
Subject sub;
Future<Map<String, dynamic>> toJson() async {
return {
'name': name,
'rank': rank,
'subject': sub.toJson(),
}
}
}
我想在 POST 请求中发送这个学生对象。
我做到了:这里学生是学生 class 的对象。
var data = jsonEncode(await student.toJson());
但在数据主题中值为空。
有谁知道为什么??
您需要在sub.toJson()
之前添加await
作为
'subject': await sub.toJson()
await
将允许 future 在等待结果时完成,否则将立即返回 future 对象,这是不希望的。
我有一个主题对象
class Subject {
String subjectName;
int pages;
int fullMarks;
Future<Map<String, dynamic>> toJson() async {
return {
'name': name,
'pages': pages,
'fullMarks': fullMarks,
}
}
}
和学生对象
class Student {
String name;
int rank;
Subject sub;
Future<Map<String, dynamic>> toJson() async {
return {
'name': name,
'rank': rank,
'subject': sub.toJson(),
}
}
}
我想在 POST 请求中发送这个学生对象。
我做到了:这里学生是学生 class 的对象。
var data = jsonEncode(await student.toJson());
但在数据主题中值为空。 有谁知道为什么??
您需要在sub.toJson()
之前添加await
作为
'subject': await sub.toJson()
await
将允许 future 在等待结果时完成,否则将立即返回 future 对象,这是不希望的。