android - 如何在颤动中将对象编码为 Json
问题描述
我有一个主题对象
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 请求中发送这个学生对象。
我做到了:这里的学生是学生类的对象。
var data = jsonEncode(await student.toJson());
但在数据主题值为空。有谁知道为什么??
解决方案
您需要在await
之前添加sub.toJson()
为
'subject': await sub.toJson()
await
将允许未来在等待结果的同时完成,否则将立即返回未来对象,这是不希望的。
推荐阅读
- python - 如何编写正则表达式来修复由重复字母组成的单词?
- python - 我无法理解我的 python 代码有什么问题
- r - 输入列名作为函数中的变量
- javascript - 向现有的 ES6 类添加常量
- office-ui-fabric - 如何在流利的 ui react Dropdown 控件中从 API 响应中设置动态选项?
- python - 如何将pickle文件的文件夹转换为单个csv文件
- ios - 无法在 iOS 中连接 firebase crashlytics
- latex - 如何在 LaTeX 中编写标题页?
- javascript - 延迟加载缩略图时阻止 YouTube Cookie
- java - 在 pkcs7 中验证 ECDSA 签名时出错