otter_json_generator 2.0.4 copy "otter_json_generator: ^2.0.4" to clipboard
otter_json_generator: ^2.0.4 copied to clipboard

JSON serialization with code generation. Separate generated code from source and keep everything clean.

example/lib/example.dart

library example;

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:otter_json/otter_json.dart';

@ImportJsonModule([DefaultJsonModule, ExampleJsonModule])
class ExampleImportJsonModule {}

@JsonModule([ExampleSerializer])
class ExampleJsonModule {}

class Example implements Json {
  @JsonField("name2")
  final String name;
  final int age;
  final double money;
  final List<int> list;
  final Map<String, int> map;
  final AnotherExample example2;
  final List<AnotherExample> example2s;
  final Color color;
  final int? nullInt;
  final ExampleEnum eenum;
  final Example2Enum? enum2;

  Example({
    required this.name,
    required this.age,
    required this.money,
    required this.list,
    required this.map,
    required this.example2,
    required this.example2s,
    required this.color,
    this.nullInt,
    required this.eenum,
    this.enum2,
  });
}

enum ExampleEnum {
  @JsonField("A1")
  a1,
  a2,
  b1,
  b2
}

enum Example2Enum {
  @JsonField(1)
  a1,
  @JsonField(2)
  a2,
  @JsonField(3)
  b1,
  @JsonField(4)
  b2
}

class AnotherExample implements Json {
  final String name;

  AnotherExample({required this.name});
}

class ExampleSerializer implements JsonSerializer<Color, int> {
  @override
  Color decode(int output) {
    return Color(output);
  }

  @override
  int encode(Color input) {
    return input.value;
  }
}
0
likes
110
pub points
0%
popularity

Publisher

unverified uploader

JSON serialization with code generation. Separate generated code from source and keep everything clean.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

analyzer, build, glob, meta, otter_json, path, source_gen

More

Packages that depend on otter_json_generator