json_string 2.0.1
json_string: ^2.0.1

Dart native js
Flutter Android iOS web

A simple and lightweight JSON data container for Dart and Flutter.

example/json_string_example.dart

import 'package:json_string/json_string.dart';
import 'package:collection/collection.dart';

void main() {
  const externalSource = '{"username":"john_doe","password":"querty"}';
  var jsonString = JsonString.orNull(externalSource);
  if (jsonString == null) {
    print("Bad source!");
  }
  final user1 = jsonString.decodeAsObject(User.fromJson);
  final user2 = User(username: 'clara_brothers', password: 'asdfgh');
  final userList = [user1, user2];

  jsonString = JsonString.encodeObjectList(userList);
  final internalSource = jsonString.source;
  print(internalSource);

  final decodedList = jsonString.decodeAsObjectList(User.fromJson);
  print(ListEquality().equals(decodedList, userList)); // true
}

class User with Jsonable {
  String username;
  String password;

  User({
    this.username,
    this.password,
  });

  static User fromJson(Map<String, dynamic> json) => User(
        username: json['username'],
        password: json['password'],
      );

  Map<String, dynamic> toJson() => {
        'username': username,
        'password': password,
      };

  @override
  bool operator ==(Object other) =>
      identical(this, other) ||
      other is User &&
          runtimeType == other.runtimeType &&
          username == other.username &&
          password == other.password;
}
0
likes
110
pub points
74%
popularity

Publisher

parsodyl.com

A simple and lightweight JSON data container for Dart and Flutter.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

json_util

More

Packages that depend on json_string