Viewing version 0.1.0. Open the latest package page.

json_serializable

0.1.0

Generates utilities to aid in serializing to/from JSON.

Download archive

Readme

Build Status

Provides source_gen Generators which generate code to make it simple to serialize to and from JSON.

Example

Given a library example.dart with an Person class annotated with @JsonSerializable():

library json_serializable.example;

import 'package:json_serializable/annotations.dart';
part 'example.g.dart';

@JsonSerializable()
class Person extends Object with _$PersonSerializerMixin {
  final String firstName, middleName, lastName;

  @JsonKey('date-of-birth')
  final DateTime dateOfBirth;

  Person(this.firstName, this.lastName, {this.middleName, this.dateOfBirth});

  factory Person.fromJson(json) => _$PersonFromJson(json);
}

source_gen creates the corresponding part example.g.dart:

part of json_serializable.example;

Person _$PersonFromJson(Map json) =>
    new Person(json['firstName'] as String, json['lastName'] as String,
        middleName: json['middleName'] as String,
        dateOfBirth: json['date-of-birth'] == null
            ? null
            : DateTime.parse(json['date-of-birth']));

abstract class _$PersonSerializerMixin {
  String get firstName;
  String get middleName;
  String get lastName;
  DateTime get dateOfBirth;
  Map<String, dynamic> toJson() => <String, dynamic>{
        'firstName': firstName,
        'middleName': middleName,
        'lastName': lastName,
        'date-of-birth': dateOfBirth?.toIso8601String(),
      };
}
Changelog

0.1.0

  • Split off from source_gen.
  • Add /* unsafe */ comments to generated output likely to be unsafe.
  • Support (de)serializing values in Map.
  • Fix ordering of fields when they are initialized via constructor.
  • Don't use static members when calculating fields to (de)serialize.

Installing

export PUB_HOSTED_URL=https://pub.mirror.p-hatan.ir
flutter pub add 'json_serializable:0.1.0'
pubspec.yaml
name: json_serializable
version: 0.1.0
author: Dart Team <misc@dartlang.org>
description: Generates utilities to aid in serializing to/from JSON.
homepage: https://github.com/dart-lang/json_serialization
environment:
  sdk: '>=1.22.1 <2.0.0-dev.infinity'
dependencies:
  analyzer: '>=0.29.10 <0.31.0'
  build: ^0.9.0
  cli_util: ^0.1.0
  path: ^1.3.2
  source_gen: ^0.6.1+1
dev_dependencies:
  build_runner: ^0.3.2
  build_test: ^0.6.0
  collection: ^1.14.0
  test: ^0.12.3

Version history

VersionPublishedArchiveSHA-256
0.1.0Cached · Upstream SHA-256 matchedDownloadea38aff2…357ce4
0.1.0+1Cached · Upstream SHA-256 matchedDownload54608c1f…fae3e4
0.2.0Cached · Upstream SHA-256 matchedDownload228de10d…0dc07d
0.2.0+1Cached · Upstream SHA-256 matchedDownloadbc4de154…cd2c76
0.2.1Cached · Upstream SHA-256 matchedDownload925b3d51…19cab5
0.2.2Cached · Upstream SHA-256 matchedDownload4bde8d44…7c6625
0.2.2+1Cached · Upstream SHA-256 matchedDownload06b55410…03b5cf
0.2.3Cached · Upstream SHA-256 matchedDownload98f510ad…eac912
0.2.3+1Cached · Upstream SHA-256 matchedDownloade6363ffc…0f3f04
0.2.4Cached · Upstream SHA-256 matchedDownload332c5d27…4db89f
0.2.4+1Cached · Upstream SHA-256 matchedDownload9ee6223b…9cd202
0.2.5Cached · Upstream SHA-256 matchedDownload25d0c6df…5da947
0.3.0Cached · Upstream SHA-256 matchedDownload8970e927…c017f6
0.3.1Cached · Upstream SHA-256 matchedDownload4d856bb2…1086ee
0.3.1+1Cached · Upstream SHA-256 matchedDownloadceaa1075…d43605
0.3.1+2Cached · Upstream SHA-256 matchedDownload7576a95d…9b2e9d
0.3.2Cached · Upstream SHA-256 matchedDownload8fc35438…08ba16
0.4.0Cached · Upstream SHA-256 matchedDownload52fca6a7…bbb0d5
0.5.0Cached · Upstream SHA-256 matchedDownloadceb97da7…f705f8
0.5.1Cached · Upstream SHA-256 matchedDownload555278a0…31b474
0.5.2Cached · Upstream SHA-256 matchedDownload4a477c42…dea9df
0.5.3Cached · Upstream SHA-256 matchedDownload453fab42…39f3f8
0.5.4Cached · Upstream SHA-256 matchedDownload2b743d72…be94c7
0.5.4+1Cached · Upstream SHA-256 matchedDownload8e4f2cfa…4fc7de
0.5.5Cached · Upstream SHA-256 matchedDownload825ff2da…d2676c
0.5.6Cached · Upstream SHA-256 matchedDownload11092952…b28665
0.5.7Cached · Upstream SHA-256 matchedDownloadafd52873…21feff
0.5.8Cached · Upstream SHA-256 matchedDownload56d661f5…19ac8b
0.5.8+1Cached · Upstream SHA-256 matchedDownload6c80bfb5…d03209
1.0.0Cached · Upstream SHA-256 matchedDownloadca0c6ffc…e59fc5
1.0.1Cached · Upstream SHA-256 matchedDownloadc1479f04…3d14ee
1.1.0Cached · Upstream SHA-256 matchedDownload46d41e4f…df92f9
1.2.0Cached · Upstream SHA-256 matchedDownload4075e577…1b11b7
1.2.1Cached · Upstream SHA-256 matchedDownload8629d4cb…9de3dc
1.3.0Cached · Upstream SHA-256 matchedDownload0236f7f0…a15438
1.4.0Cached · Upstream SHA-256 matchedDownload394035ff…d1641c
1.5.0Cached · Upstream SHA-256 matchedDownload086663d3…fae00b
1.5.1Cached · Upstream SHA-256 matchedDownload977f3916…91f75b
2.0.0Cached · Upstream SHA-256 matchedDownload0b0a7239…f467f4
2.0.1Cached · Upstream SHA-256 matchedDownloade314d1da…a97c4f
2.0.2Cached · Upstream SHA-256 matchedDownload31fc6262…16290c
2.0.3Cached · Upstream SHA-256 matchedDownload12a5cfd6…199157
2.1.0Cached · Upstream SHA-256 matchedDownload330b4534…674a33
2.1.1Cached · Upstream SHA-256 matchedDownload9fb477f1…8ff6b9
2.1.2Cached · Upstream SHA-256 matchedDownload744218d0…9167e3
2.2.0Cached · Upstream SHA-256 matchedDownload35995d69…dcfe7b
2.2.1Cached · Upstream SHA-256 matchedDownload2dbfe302…23d088
2.2.2Cached · Upstream SHA-256 matchedDownload33166f5f…53ca39
2.3.0Cached · Upstream SHA-256 matchedDownloadc132f057…8d9ab2
3.0.0Cached · Upstream SHA-256 matchedDownload48d5294c…082144
3.1.0Cached · Upstream SHA-256 matchedDownload200067f1…872db6
3.2.0Cached · Upstream SHA-256 matchedDownload3c157eae…aba16d
3.2.1Cached · Upstream SHA-256 matchedDownload4c198769…eb5690
3.2.2Cached · Upstream SHA-256 matchedDownload358bed36…505f0c
3.2.3Cached · Upstream SHA-256 matchedDownload4ea7527e…908178
3.2.4Cached · Upstream SHA-256 matchedDownload8717e5f5…f655fd
3.2.5Cached · Upstream SHA-256 matchedDownload62aa4c18…96ec5c
3.3.0Cached · Upstream SHA-256 matchedDownloadf30cdc18…5eee4d
3.4.0Cached · Upstream SHA-256 matchedDownloadb198894a…a89ac9
3.4.1Cached · Upstream SHA-256 matchedDownload47222df0…cecf87
3.5.0Cached · Upstream SHA-256 matchedDownload8000c8f8…cc15f7
3.5.1Cached · Upstream SHA-256 matchedDownload698f328e…e4bab5
3.5.2Cached · Upstream SHA-256 matchedDownload0f9e7274…71bf71
4.0.0-nullsafety.0Cached · Upstream SHA-256 matchedDownload65086760…4d8130
4.0.0Cached · Upstream SHA-256 matchedDownloadbf5cd59a…50e4e3
4.0.1Cached · Upstream SHA-256 matchedDownloadf9f62b88…b2677e
4.0.2Cached · Upstream SHA-256 matchedDownloadc29fcdae…9ab2bc
4.0.3Cached · Upstream SHA-256 matchedDownloadc17fe901…049696
4.1.0Cached · Upstream SHA-256 matchedDownload04a71e61…0ec003
4.1.1Cached · Upstream SHA-256 matchedDownload194d4ffc…746aa0
4.1.2Cached · Upstream SHA-256 matchedDownloade58e35c2…2b5dba
4.1.3Cached · Upstream SHA-256 matchedDownloadbd4c3eec…990338
4.1.4Cached · Upstream SHA-256 matchedDownload86d3edf6…3bb323
5.0.0Cached · Upstream SHA-256 matchedDownloade55b5148…5ed5cd
5.0.1Cached · Upstream SHA-256 matchedDownloade760d5cf…bf636c
5.0.2Cached · Upstream SHA-256 matchedDownload4af86580…04cc1c
6.0.0Cached · Upstream SHA-256 matchedDownload5a0f38bb…21beb8
6.0.1Cached · Upstream SHA-256 matchedDownload45234e44…a4b23c
6.1.0Cached · Upstream SHA-256 matchedDownload64965139…038587
6.1.1Cached · Upstream SHA-256 matchedDownload9baed298…ead1cb
6.1.2Cached · Upstream SHA-256 matchedDownloadc7119ff7…7c1a31
6.1.3Cached · Upstream SHA-256 matchedDownload85f3e219…d57cfc
6.1.4Cached · Upstream SHA-256 matchedDownloaddc6f9551…1ee8ca
6.1.5Cached · Upstream SHA-256 matchedDownloada53cf24d…a08610
6.1.6Cached · Upstream SHA-256 matchedDownload3feab8c3…b10f39
6.2.0Cached · Upstream SHA-256 matchedDownload4fc3fb22…aee75d
6.3.0Cached · Upstream SHA-256 matchedDownload40e713f3…a90f13
6.3.1Cached · Upstream SHA-256 matchedDownload0cec7060…ee8238
6.3.2Cached · Upstream SHA-256 matchedDownloadfd1bcfbf…116932
6.4.0Cached · Upstream SHA-256 matchedDownload276b80dd…a54202
6.4.1Cached · Upstream SHA-256 matchedDownload581006a3…7cfe4b
6.5.0Cached · Upstream SHA-256 matchedDownload45205106…757fe9
6.5.1Cached · Upstream SHA-256 matchedDownload2296021b…f04bb4
6.5.2Cached · Upstream SHA-256 matchedDownloadf8aec50d…c97f74
6.5.3Cached · Upstream SHA-256 matchedDownload87ce738d…c2bfb0
6.5.4Cached · Upstream SHA-256 matchedDownloadf3c2c18a…53ef5d
6.6.0Cached · Upstream SHA-256 matchedDownload040088d9…700a75
6.6.1Cached · Upstream SHA-256 matchedDownloaddadc08bd…8d187a
6.6.2Cached · Upstream SHA-256 matchedDownload43793352…c04dc7
6.7.0Cached · Upstream SHA-256 matchedDownload61a60716…2325c4
6.7.1Cached · Upstream SHA-256 matchedDownloadaa1f5a89…b0b969
6.8.0Cached · Upstream SHA-256 matchedDownloadea1432d1…a1fd4b
6.9.0Cached · Upstream SHA-256 matchedDownloadc2fcb392…050d7c
6.9.1Cached · Upstream SHA-256 matchedDownloade7855a40…7154b4
6.9.2Cached · Upstream SHA-256 matchedDownload8f52361c…05d571
6.9.3Cached · Upstream SHA-256 matchedDownloadb0a98230…dd59c9
6.9.4Cached · Upstream SHA-256 matchedDownload81f04dee…c9e58a
6.9.5Cached · Upstream SHA-256 matchedDownloadc50ef5fc…feea8c
6.10.0-devCached · Upstream SHA-256 matchedDownloadab72b330…666393
6.10.0Cached · Upstream SHA-256 matchedDownloadce2cf974…55be27
6.11.0Cached · Upstream SHA-256 matchedDownload3f2913b7…b80cbd
6.11.1Cached · Upstream SHA-256 matchedDownload33a04066…3aa6fe
6.11.2Cached · Upstream SHA-256 matchedDownloadc5b2ee75…fdffa3
6.11.3Cached · Upstream SHA-256 matchedDownload6b253f78…e0b5b1
6.11.4Cached · Upstream SHA-256 matchedDownload5b89c1e3…f8104e
6.12.0Cached · Upstream SHA-256 matchedDownload93fba3ad…25760d
6.13.0Cached · Upstream SHA-256 matchedDownload44729f5c…16a6c0
6.13.1Cached · Upstream SHA-256 matchedDownloadfbcf404b…a78925
6.13.2Cached · Upstream SHA-256 matchedDownload2c15e78e…7f20db
6.14.0Cached · Upstream SHA-256 matchedDownloadffcd10cd…97e501
6.14.1Cached · Upstream SHA-256 matchedDownloade45aefa0…63113d
6.15.0Cached · Upstream SHA-256 matchedDownloadeb8d06bc…b541f8
6.15.1Cached · Upstream SHA-256 matchedDownload3b177bc1…fd0f33
6.15.2Cached · Upstream SHA-256 matchedDownloadcc782276…1c66f1

Dependencies

analyzer "\u003e=0.29.10 \u003c0.31.0"

build "^0.9.0"

cli_util "^0.1.0"

path "^1.3.2"

source_gen "^0.6.1+1"