Contact.fromJson constructor
Contact.fromJson(
- JSON json
Creates a Contact from a Map<String, Object?>.
Implementation
factory Contact.fromJson(JSON json) {
final rawBirthday = json['birthday'];
DateTime? birthday;
if (rawBirthday is String &&
rawBirthday.isNotEmpty &&
RegExp(r'^\d{4}-\d{2}-\d{2}$').hasMatch(rawBirthday)) {
birthday = DateTime.tryParse(rawBirthday);
} else {
birthday = null;
}
return Contact(
identifier: json['identifier'].toString(),
displayName: json['displayName'].toString(),
givenName: json['givenName'].toString(),
middleName: json['middleName'].toString(),
prefix: json['prefix'].toString(),
suffix: json['suffix'].toString(),
familyName: json['familyName'].toString(),
company: json['company'].toString(),
jobTitle: json['jobTitle'].toString(),
androidAccountType: AndroidAccountType.fromString(
json['androidAccountType'].toString(),
),
androidAccountTypeRaw: json['androidAccountType'].toString(),
androidAccountName: json['androidAccountName'].toString(),
emails: (json['emails'] as List?)
?.map((e) => Contact$Field.fromJson(e as JSON))
.toList(),
phones: (json['phones'] as List?)
?.map((e) => Contact$Field.fromJson(e as JSON))
.toList(),
postalAddresses: (json['postalAddresses'] as List?)
?.map((e) => Contact$PostalAddress.fromJson(e as JSON))
.toList(),
avatar: json['avatar'] is List<int>
? Uint8List.fromList(json['avatar'] as List<int>)
: null,
birthday: birthday,
);
}