Android 如何在flatter中将对象编码为Json
我有一个主客体Android 如何在flatter中将对象编码为Json,android,json,flutter,serialization,http-post,Android,Json,Flutter,Serialization,Http Post,我有一个主客体 class Subject { String subjectName; int pages; int fullMarks; Future<Map<String, dynamic>> toJson() async { return { 'name': name, 'pages': pages, 'fullMarks': fullMarks, } } } 但在数据中,Subject值为
class Subject {
String subjectName;
int pages;
int fullMarks;
Future<Map<String, dynamic>> toJson() async {
return {
'name': name,
'pages': pages,
'fullMarks': fullMarks,
}
}
}
但在数据中,Subject值为null。
有人知道为什么吗???您需要在
sub.toJson()之前添加wait
'subject': await sub.toJson()
wait
将允许future在等待结果时完成,否则future对象将立即返回,这是不需要的。您是否尝试调试代码并检查student.sub
是否不为空?是的,Subject的对象不为空,我已调试。或者更好的是,不要使toJson()
函数异步
,无需to@mfkw1谢谢你的帮助,我还不熟悉飞镖和颤振,所以对异步和等待有点困惑。
var data = jsonEncode(await student.toJson());
'subject': await sub.toJson()