This is a dart-json-mapper complementary package provides support for https://pub.dev/packages/built_collection types in order to serialize / deserialize them from / to JSON.
Basic setup
Beforehand please consult with basic setup section from dart-json-mapper package.
Please add the following dependencies to your pubspec.yaml
:
dependencies:
dart_json_mapper:
dart_json_mapper_built:
dev_dependencies:
build_runner:
Usage example lib/main.dart
import 'package:built_collection/built_collection.dart';
import 'package:dart_json_mapper/dart_json_mapper.dart' show JsonMapper, jsonSerializable;
import 'package:dart_json_mapper_built/dart_json_mapper_built.dart' show builtAdapter;
import 'main.mapper.g.dart' show initializeJsonMapper;
@jsonSerializable
class ImmutableClass {
final BuiltList<int> list;
const ImmutableClass(this.list);
}
void main() {
initializeJsonMapper(adapters: [builtAdapter]);
print(JsonMapper.serialize(
ImmutableClass(BuiltList.of([1, 2, 3]))
));
}
output:
{
"list": [1,2,3]
}