颤振列表手动嵌套json

时间:2020-08-04 09:43:34

标签: flutter dart

我有一个联系人列表,我想在其中使用json字符串将namedName,familyName和displayName发送到api。

final contacts =
    (await ContactsService.getContacts(withThumbnails: false)).toList();

我尝试但无法创建嵌套数组:

List<dynamic> list = new List<dynamic>();

for (final contact in contacts) {
    list.add(contact.givenName);
}

print(list);

我想要这样的东西:

[
    {"id":1,"givenName":"Joe","familyname":"Walker"},
    {"id":2,"givenName":"Zoe","familyname":"Sleeper"}
];

1 个答案:

答案 0 :(得分:1)

已更新 试试这个

for (final contact in contacts) {
     var json = {'givenName' : contact.givenName, 'familyName': contact.familyName};
     list.add(json);
 }

OLD

您的Contact类应该具有toJson方法。

class Contact {
   Int id;
  String givenName, familyName;

  Map<String, dynamic> toJson() =>
  {
    'id': id,
    'givenName' : givenName, 
    'familyName': familyName,
  }; 
}

现在您的代码应该可以使用

List<dynamic> list = new List<dynamic>();

for (final contact in contacts) {
    list.add(contact.toJson());
}

print(list);