How To Use Dart QuickType

Tue, Mar 7, 2023

Read in 2 minutes

Using Dart Quicktype involves several steps, including installing the tool, generating the code, and using the generated code in your Dart application. In this section, we will provide a detailed guide on how to use Dart Quicktype with examples.

Step 1: Install Dart Quicktype

The first step is to install the Dart Quicktype tool on your system. Dart Quicktype is available as a command-line tool, and you can install it using npm:

npm install -g quicktype

Step 2: Prepare Your Data

The next step is to prepare the data you want to generate Dart code from. Quicktype Dart can generate code from JSON, YAML, and other similar data formats.

For example, suppose you have the following JSON data:

{
  "name": "John",
  "age": 30,
  "address": {
    "city": "New York",
    "state": "NY",
    "zip": "10001"
  }
}

Step 3: Generate Dart Code

To generate Dart code from the JSON data, run the following command:

quicktype --src json --lang dart --out person.dart person.json

This command generates a Dart class in a file named person.dart that you can use in your Dart application.

Here’s what the generated code might look like:

class Person {
  String name;
  int age;
  Address address;

  Person({
    this.name,
    this.age,
    this.address,
  });

  factory Person.fromJson(Map<String, dynamic> json) => Person(
        name: json["name"],
        age: json["age"],
        address: Address.fromJson(json["address"]),
      );

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

class Address {
  String city;
  String state;
  String zip;

  Address({
    this.city,
    this.state,
    this.zip,
  });

  factory Address.fromJson(Map<String, dynamic> json) => Address(
        city: json["city"],
        state: json["state"],
        zip: json["zip"],
      );

  Map<String, dynamic> toJson() => {
        "city": city,
        "state": state,
        "zip": zip,
      };
}

Step 4: Use the Generated Code

Now that you have generated the Dart code, you can use it in your Dart application to parse the JSON data.

For example, you can create an instance of the Person class from the JSON data as follows:

import 'dart:convert';

void main() {
  String jsonString = '{ "name": "John", "age": 30, "address": { "city": "New York", "state": "NY", "zip": "10001" } }';
  Map<String, dynamic> json = jsonDecode(jsonString);
  Person person = Person.fromJson(json);
}

This code creates an instance of the Person class from the JSON data using the fromJson() method generated by Quicktype Dart.

In summary, using Dart Quicktype involves installing the tool, preparing the data, generating Dart code, and using the generated code in your Dart application. Quicktype Dart simplifies the process of generating Dart code from JSON, YAML, and other similar data formats, making it easy to parse and manipulate data in your Dart applications.


Shohruh AK





See Also

What is "do" in Dart?
What is "deferred" in Dart?
What is "default" in Dart?
What is "covariant" in Dart?
What is "continue" in Dart?