json_class 1.0.7+2 copy "json_class: ^1.0.7+2" to clipboard
json_class: ^1.0.7+2 copied to clipboard

outdated

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

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>> 

Then run...

flutter packages get

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,
  });
}

4
likes
30
points
20.1k
downloads

Publisher

verified publisherpeifferinnovations.com

Weekly Downloads

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

Repository (GitHub)

License

MIT (license)

Dependencies

logging, meta

More

Packages that depend on json_class