VS Code Extensions
J

json-to-freezed-generator

by rndokts

Generate Dart Freezed model from Json

Downloads

7

Rating

— (0)

Version

0.0.2

Last updated

May 20, 2026

JSON to Freezed Generator adalah extension Visual Studio Code untuk mengubah JSON menjadi Dart model menggunakan freezed, freezed_annotation, dan json_serializable.

Extension ini cocok untuk Flutter developer yang sering membuat model response API secara manual.

Features

  • Generate Dart Freezed model dari JSON
  • Support generate dari clipboard
  • Support generate dari selected text di editor
  • Support nested object
  • Support array/list
  • Convert snake_case JSON key menjadi camelCase Dart field
  • Auto generate @JsonKey(name: "...")
  • Auto generate helper function from JSON string
  • Auto generate part file:
    • .freezed.dart
    • .g.dart

Requirements

  • flutter pub add freezed_annotation json_annotation
  • flutter pub add dev:freezed dev:build_runner dev:json_serializable

Usage

Generate from Clipboard

  1. Copy JSON dari Postman, browser, Swagger, atau file lain.
  2. Buka command palette (Ctrl+Shift+P atau Cmd+Shift+P)
  3. Pilih "JSON to Freezed: Generate from Clipboard"

Generate from Selection

  1. Select JSON di editor
  2. Buka command palette (Ctrl+Shift+P atau Cmd+Shift+P)
  3. Pilih "JSON to Freezed: Generate from Selection"

Mapping Type

JSON Value Dart Type
String String?
Integer int?
Decimal double?
Boolean bool?
Null dynamic
Object Generated Freezed class
Array of primitive List<T>?
Array of object List<Model>?

Generate Build

  • flutter pub run build_runner build --delete-conflicting-outputs
  • dart run build_runner watch --delete-conflicting-outputs

Example

Input JSON

{
  "status": true,
  "message": "Login Accepted",
  "data": {
    "id": 167,
    "name": "John Doe",
    "email": "[email protected]",
    "no_ktp": "2345678910111213",
    "role": {
      "id": 13,
      "name": "Owner",
      "guard_name": "web"
    },
    "is_active": true
  },
  "http_code": 200
}

Known Limitations

  • Nama class nested object mengikuti nama key JSON.
  • Empty array akan dianggap sebagai List.
  • Null value akan dianggap sebagai dynamic.
  • Belum membaca seluruh file JSON secara otomatis tanpa selection.
  • Belum otomatis menjalankan build_runner.

License

MIT

Related extensions