我有一个联系人列表,我想在其中使用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"}
];
答案 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);