https://github.com/hokamc/otter_json
A compile safe JSON serialization in generic way
https://github.com/hokamc/otter_json
compile-safe dart flutter json serialization
Last synced: 2 months ago
JSON representation
A compile safe JSON serialization in generic way
- Host: GitHub
- URL: https://github.com/hokamc/otter_json
- Owner: hokamc
- License: mit
- Created: 2020-11-29T12:01:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-02-05T06:21:39.000Z (over 4 years ago)
- Last Synced: 2025-10-14T16:09:35.794Z (9 months ago)
- Topics: compile-safe, dart, flutter, json, serialization
- Language: Dart
- Homepage:
- Size: 127 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Otter JSON
[]()
[]()
JSON serialization with code generation.
## Table of Contents
- [Table of Contents](#table-of-contents)
- [Why use it](#why-use-it)
- [How to](#how-to)
- [Todo](#todo)
- [Link](#link)
- [Authors](#authors)
## 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, Set, Map
- Support nested object
## How to
- dependencies
```yaml
dependencies:
otter_json:
dev_dependencies:
build_runner:
otter_json_generator:
```
- annotate
```dart
@JSON
class Person {
String firstName;
String lastName;
}
```
- generate
```shell script
flutter pub run build_runner build
```
- register
```dart
Otter.module(GeneratedJsonModule());
```
- toJson, fromJson
```dart
Map map = Otter.toJson(Person());
Person person = Otter.fromJson({});
```
- custom serializer
```dart
class ColorSerializer implements JsonSerializer {
@override
Color decode(int output) {
return Color(output);
}
@override
int encode(Color input) {
return input.value;
}
}
Otter.serializer(ColorSerializer());
```
## Todo
## Link
[otter_json](https://pub.dev/packages/otter_json)
[otter_json_generator](https://pub.dev/packages/otter_json_generator)
## Authors
- [@hokamc](https://github.com/hokamc)