Otter JSON
JSON serialization with code generation.
Table of Contents
Why use it
Do you suffer from json_serializable? All generated code and 'part' make your source code messy. With Otter JSON, keep everything simple and clean.
Features
- Generated code and source code are separated
- Easy to register new serializer
- Support all primitives
- Support flutter common class
- Support List
- Support nested object
How to
- dependencies
dependencies:
otter_json:
dev_dependencies:
build_runner:
otter_json_generator:
- annotate
@JSON
class Person {
String firstName;
String lastName;
}
- generate
flutter pub run build_runner build
- register
Otter.module(GeneratedJsonModule());
- toJson, fromJson
Map<String, dynamic> map = Otter.toJson(Person());
Person person = Otter.fromJson({});
- custom serializer
class ColorSerializer implements JsonSerializer<Color, int> {
@override
Color decode(int output) {
return Color(output);
}
@override
int encode(Color input) {
return input.value;
}
}
Otter.serializer(ColorSerializer());