json_factory_annotation 1.0.2 copy "json_factory_annotation: ^1.0.2" to clipboard
json_factory_annotation: ^1.0.2 copied to clipboard

Annotation for centralized, type-safe JSON factory generation in Dart models. Supports generic API responses and complex object graphs.

JSON Factory Annotation #

Annotation package for centralized, type-safe JSON factory generation in Dart models. This package provides annotations that work with json_factory_generator to automatically generate JSON serialization code for your Dart classes.

Features #

  • Type-safe JSON serialization
  • Support for generic API responses
  • Handle complex object graphs
  • Centralized JSON factory generation

Installation #

Add this package to your pubspec.yaml:

dependencies:
  json_factory_annotation: ^1.0.0

dev_dependencies:
  json_factory_generator: ^1.0.0
  build_runner: ^2.4.0

Usage #

Basic Usage #

import 'package:json_factory_annotation/json_factory_annotation.dart';

@JsonModel // Mark this class for JsonFactory generation
class User {
  final String name;
  final int age;

  User({required this.name, required this.age});
  
  factory User.fromJson(Map<String, dynamic> json) => User(
    name: json['name'] as String,
    age: json['age'] as int,
  );

  Map<String, dynamic> toJson() => {
    'name': name,
    'age': age,
  };
}

With json_serializable #

import 'package:json_factory_annotation/json_factory_annotation.dart';
import 'package:json_annotation/json_annotation.dart';

part 'user.g.dart';

@JsonModel // Mark this class for JsonFactory generation
@JsonSerializable()
class User {
  final String name;
  final int age;

  User({required this.name, required this.age});
  
  factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
  
  Map<String, dynamic> toJson() => _$UserToJson(this);
}

Annotations #

@JsonModel #

The main annotation that marks a class for inclusion in the generated JsonFactory. Any class annotated with @JsonModel will be discovered by the generator and included in the centralized JSON factory.

Requirements:

  • Class must have a fromJson factory constructor
  • Class must be in a file under the lib/ directory
  • Class must be properly imported in your code

Additional information #

For more detailed information, examples, and documentation, visit:

0
likes
160
points
74
downloads

Publisher

unverified uploader

Weekly Downloads

Annotation for centralized, type-safe JSON factory generation in Dart models. Supports generic API responses and complex object graphs.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

meta

More

Packages that depend on json_factory_annotation