Flutter Model Generator

Convert JSON to Dart Freezed models instantly.

Settings
JSON Input
Root Class:
Dart Output (2 files)
user.dart
import 'package:freezed_annotation/freezed_annotation.dart';
import 'address.dart';

part 'user.freezed.dart';
part 'user.g.dart';

@Freezed(makeCollectionsUnmodifiable: false)
abstract class User with _$User {
  const factory User({
    int? id,
    @JsonKey(name: 'first_name')
    String? firstName,
    @JsonKey(name: 'is_active')
    bool? isActive,
    List<String>? roles,
    Address? address,
  }) = _User;

  factory User.fromJson(Map<String, Object?> json) => _$UserFromJson(json);
}
address.dart
import 'package:freezed_annotation/freezed_annotation.dart';

part 'address.freezed.dart';
part 'address.g.dart';

@freezed
abstract class Address with _$Address {
  const factory Address({
    String? street,
    String? city,
  }) = _Address;

  factory Address.fromJson(Map<String, Object?> json) => _$AddressFromJson(json);
}