json_model_gen 0.0.6 copy "json_model_gen: ^0.0.6" to clipboard
json_model_gen: ^0.0.6 copied to clipboard

A Dart tool to generate model classes from JSON with fromJson, toJson, copyWith, and equality overrides.

🧬 json_model_gen

Generate Dart model classes effortlessly from raw JSON using this CLI tool.

✨ Features

πŸ”„ Converts JSON into Dart classes ❄️ Supports freezed annotation ♻️ Supports equatable πŸ”’ Optional field nullability πŸ’¬ Interactive prompts (if no flags provided) πŸ›‘ Prevents accidental overwrites πŸ“ Auto-renames .json β†’ .dart when needed

πŸš€ Installation

To install from pub.flutter-io.cn, run:

dart pub add json_model_gen Or manually add it to your pubspec.yaml:

dependencies: json_model_gen: ^0.0.6 Then run:

dart pub get

πŸ”§ Usage

πŸ“¦ Full command with flags: dart run json_model_gen
--input=raw.json
--output=lib/user_model.dart
--class=UserModel
--freezed
--equatable
--nullable

🧠 Or use interactive mode: Just run:

dart run json_model_gen It will ask you step-by-step:

πŸ“₯ Input file path πŸ“€ Output file path πŸ§ͺ Class name βš™οΈ Use equatable ❄️ Use freezed ❓ Make all fields nullable πŸ“Œ Example

Input (raw.json) { "id": 1, "name": "Alice", "active": true, "bio": null } Output (user_model.dart) import 'package:freezed_annotation/freezed_annotation.dart';

part 'user_model.freezed.dart'; part 'user_model.g.dart';

@freezed class UserModel with _$UserModel { const factory UserModel({ int? id, String? name, bool? active, String? bio, }) = _UserModel;

factory UserModel.fromJson(Map<String, dynamic> json) => _$UserModelFromJson(json); }

⚠️ Notes

βœ… Input file must contain ONLY valid JSON, not Dart code. πŸ“„ If your input file ends with .dart, it will still work, but a warning will appear. πŸ§ͺ Class names are validated to be in PascalCase. πŸ“Œ --output=model.json will auto-convert to model.dart.

⭐ Star the repo on GitHub if you like it!

4
likes
0
points
44
downloads

Publisher

unverified uploader

Weekly Downloads

A Dart tool to generate model classes from JSON with fromJson, toJson, copyWith, and equality overrides.

Repository (GitHub)
View/report issues

Topics

#json #model #codegen #dart #cli

License

unknown (license)

Dependencies

args, recase

More

Packages that depend on json_model_gen