WantedPerson.fromJson constructor
Creates a WantedPerson object from a JSON object.
Implementation
factory WantedPerson.fromJson(Map<String, dynamic> json) {
String? id = json[ApiFields.id];
if (id != null) {
id = id.replaceAll('https://api.fbi.gov/@wanted-person/', '');
}
return WantedPerson(
id: id,
uid: json[ApiFields.uid],
title: json[ApiFields.title],
aliases: (json[ApiFields.aliases] as List?)
?.map((alias) => alias.toString())
.toList(),
description: json[ApiFields.description],
images: (json[ApiFields.images] as List?)
?.map((wantedPerson) => FbiImage.fromJson(wantedPerson))
.toList(),
files: (json[ApiFields.files] as List?)
?.map((file) => WantedPersonFile.fromJson(file))
.toList(),
warningMessage: json[ApiFields.warningMessage],
remarks: json[ApiFields.remarks],
details: json[ApiFields.details],
additionalInfo: json[ApiFields.additionalInfo],
caution: json[ApiFields.caution],
rewardText: json[ApiFields.rewardText],
rewardMin: ((json[ApiFields.rewardMin]) as num?)?.toInt(),
rewardMax: ((json[ApiFields.rewardMax]) as num?)?.toInt(),
datesOfBirthUsed: (json[ApiFields.datesOfBirthUsed] as List?)
?.map((date) => date.toString())
.toList(),
placeOfBirth: json[ApiFields.placeOfBirth],
locations: (json[ApiFields.locations] as List?)
?.map((location) => location.toString())
.toList(),
coordinates: (json[ApiFields.coordinates] as List?)
?.map((coordinate) => WantedPersonCoordinates.fromJson(coordinate))
.toList(),
fieldOffices: (json[ApiFields.fieldOffices] as List?)
?.map((office) => office.toString())
.toList(),
legatNames: (json[ApiFields.legatNames] as List?)
?.map((legat) => legat.toString())
.toList(),
status: json[ApiFields.status] == null
? null
: WantedPersonStatus.fromString(json[ApiFields.status]),
personClassification: json[ApiFields.personClassification] == null
? null
: WantedPersonClassification.fromString(
json[ApiFields.personClassification]),
posterClassification: json[ApiFields.posterClassification] == null
? null
: WantedPosterClassification.fromString(
json[ApiFields.posterClassification]),
subjects: (json[ApiFields.subjects] as List?)
?.map((subject) => subject.toString())
.toList(),
ncic: json[ApiFields.ncic],
ageText: json[ApiFields.ageText],
ageMin: ((json[ApiFields.ageMin]) as num?)?.toInt(),
ageMax: ((json[ApiFields.ageMax]) as num?)?.toInt(),
weightLbsText: json[ApiFields.weight],
weightLbsMin: ((json[ApiFields.weightMin]) as num?)?.toInt(),
weightLbsMax: ((json[ApiFields.weightMax]) as num?)?.toInt(),
heightInchesMin: ((json[ApiFields.heightMin]) as num?)?.toInt(),
heightInchesMax: ((json[ApiFields.heightMax]) as num?)?.toInt(),
eyeColor: json[ApiFields.eyes],
eyesRaw: json[ApiFields.eyesRaw],
hairColor: json[ApiFields.hair],
hairRaw: json[ApiFields.hairRaw],
build: json[ApiFields.build],
sex: json[ApiFields.sex],
race: json[ApiFields.race],
raceRaw: json[ApiFields.raceRaw],
nationality: json[ApiFields.nationality],
complexion: json[ApiFields.complexion],
scarsAndMarks: json[ApiFields.scarsAndMarks],
occupations: (json[ApiFields.occupations] as List?)
?.map((occupation) => occupation.toString())
.toList(),
possibleCountries: (json[ApiFields.possibleCountries] as List?)
?.map((country) => country.toString())
.toList(),
possibleStates: (json[ApiFields.possibleStates] as List?)
?.map((state) => state.toString())
.toList(),
modified: json[ApiFields.modified],
publication: json[ApiFields.publication],
path: json[ApiFields.path],
languages: (json[ApiFields.languages] as List?)
?.map((language) => language.toString())
.toList(),
suspects: json[ApiFields.suspects],
);
}