Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在flatter中将对象编码为Json_Android_Json_Flutter_Serialization_Http Post - Fatal编程技术网

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()