Skip to content

Instantly share code, notes, and snippets.

View RedBrogdon's full-sized avatar
💭
Flutterin'.

Andrew Brogdon RedBrogdon

💭
Flutterin'.
View GitHub Profile
import 'package:json_annotation/json_annotation.dart';
@JsonSerializable
class SimpleObject {
...
}
import 'package:json_annotation/json_annotation.dart';
part 'simple_object.g.dart';
@JsonSerializable()
class SimpleObject extends Object with _$SimpleObjectSerializerMixin {
SimpleObject({
this.aString,
this.anInt,
this.aDouble,
part of 'simple_object.dart';
SimpleObject _$SimpleObjectFromJson(
Map<String, dynamic> json) =>
new SimpleObject(
aString: json['aString'] as String,
anInt: json['anInt'] as int,
aDouble: (json['aDouble'] as num)?.toDouble(),
aListOfStrings:
(json['aListOfStrings'] as List)?.map((e) => e as String)?.toList(),
final myObject = SimpleObject.fromJson(json.decode(jsonString));
final myJsonStr = json.encode(myObject.toJson());
import 'package:built_collection/built_collection.dart';
import 'package:built_value/built_value.dart';
import 'package:built_value/serializer.dart';
part 'simple_object.g.dart';
abstract class SimpleObject
implements Built<SimpleObject, SimpleObjectBuilder> {
static Serializer<SimpleObject> get serializer =>
_$SimpleObjectSerializer;
final SimpleObject myObject = SimpleObject((b) => b
..aString = 'Blah, blah, blah'
..anInt = 1
..aDouble = 1.0
..aListOfStrings = ListBuilder<String>(['one', 'two', 'three'])
..aListOfInts = ListBuilder<int>([1, 2, 3])
..aListOfDoubles = ListBuilder<double>([1.0, 2.0, 3.0])
);
final SimpleObject anotherObject = myObject.rebuild((b) => b
..aString = "An updated value"
);
SimpleObject._();
import 'package:built_collection/built_collection.dart';
import 'package:built_value/serializer.dart';
import 'package:built_value/standard_json_plugin.dart';
import 'simple_object.dart';
part 'serializers.g.dart';
@SerializersFor(const [
SimpleObject,
])
final myObject = serializers.deserializeWith(
SimpleObject.serializer, json.decode(aJsonString));
final String myJsonString = json.encode(serializers.serialize(myObject));