如何在颤振中将对象编码为 Json

时间:2021-01-15 10:14:57

标签: 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,
    }
  }
}

和学生对象

class Student {
  String name;
  int rank;
  Subject sub;

  Future<Map<String, dynamic>> toJson() async {
    return {
      'name': name,
      'rank': rank,
      'subject': sub.toJson(),
    }
  }
}

我想在 POST 请求中发送这个学生对象。

我做到了:这里的 student 是 Student 类的对象。

var data = jsonEncode(await student.toJson());

但在数据主题值为空。 有谁知道为什么??

1 个答案:

答案 0 :(得分:2)

您需要在 await 之前添加 sub.toJson()

'subject': await sub.toJson()

await 将允许 future 在等待结果时完成,否则将立即返回 future 对象,这是不希望的。

相关问题