Если вы хотите работать с json, вы можете рассмотреть этот пакет json_serializable
. Просто найдите его на pub.dev
.
. Я могу привести небольшой пример. Допустим, у вас есть User
класс / модель.
part 'user.g.dart';
@JsonSerializable()
class User {
int id;
@JsonKey(name: 'user_type_id')
int userTypeId;
String email;
@JsonKey(name: 'user_detail')
UserDetail userDetail;
@JsonKey(name: 'user_type')
UserType userType;
@JsonKey(name: 'user_location')
UserLocation userLocation;
User();
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
Map<String, dynamic> toJson() => _$UserToJson(this);
}
и вы извлекли данные User
через API и хотите создать переменную User
и заполнить ее данными, не делая этого вручную.
Вы можете на самом деле сделать это только с помощью этой строки кода
User user = User.fromJson(jsonUser);
Они даже автоматически json сериализуют классы в вашем User
классе, если эти классы также json сериализуемы, что определяется с помощью @JsonSerializable()
Таким образом, даже с помощью одной строки кода, если jsonUser
, полученный из API, также имеет значения для UserDetail
, UserType
и UserLocation
, вы также можете получить к ним доступ.