json_class 3.0.1 copy "json_class: ^3.0.1" to clipboard
json_class: ^3.0.1 copied to clipboard

An abstract class to assist with converting to and from JSON with various primitive parsers.

Table of Contents

json_class #

Singular class that when extended can encode itself to a JSON compatible map or list. This also provides convenience functions to decode from a JSON compatible map or list to the actual data model.

Using the library #

Add the repo to your Flutter pubspec.yaml file.

dependencies:
  json_class: <<version>> 
copied to clipboard

Then run...

flutter packages get
copied to clipboard

Example #

import 'package:json_class/json_class.dart';
import 'package:meta/meta.dart';

@immutable
class Person extends JsonClass {
  Person({
    this.age,
    this.minor,
    this.firstName,
    this.lastName,
  });

  final int age;
  final bool minor;
  final String firstName;
  final String lastName;

  static Person fromDynamic(dynamic map) {
    // It's recommended to use dynamic over Map<String, dynamic> because it's
    // compatible with other types of map-like results such as Firebase Realtime
    // Database's values or the ones returned from sqlflite.
    Person result;

    if (map != null) {
      result = Person(
        age: JsonClass.parseInt(map['age']),
        minor: JsonClass.parseBool(map['minor']),
        firstName: map['firstName'],
        lastName: map['lastName'],
      );
    }

    return result;
  }

  static List<Person> fromDynamicList(Iterable<dynamic> list) {
    List<Person> results;

    if (list != null) {
      results = [];
      for (dynamic map in list) {
        results.add(fromDynamic(map));
      }
    }

    return results;
  }

  @override
  Map<String, dynamic> toJson() => JsonClass.removeNull({
    age: age,
    minor: minor,
    firstName: firstName,
    lastName: lastName,
  });
}

copied to clipboard
4
likes
150
points
19.3k
downloads

Publisher

verified publisherpeifferinnovations.com

Weekly Downloads

2024.09.21 - 2025.04.05

An abstract class to assist with converting to and from JSON with various primitive parsers.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

intl, logging, meta

More

Packages that depend on json_class