DEV Community

Cover image for How to customize Serialization & Deserialization using json_serializable in Flutter?
Darpan Vithani for Canopas Software

Posted on

How to customize Serialization & Deserialization using json_serializable in Flutter?

When we work with JSON data in Flutter, there are two primary approaches: Manual serialization and Automated serialization.

In Manual serialization, we have to manually convert our Dart objects to JSON and vice versa. This can be time-consuming and error-prone, especially when dealing with complex data structures.

Automated Serialization, on the other hand, is a much more efficient and less error-prone approach.

In this article, we will dive deep into the various options available in the JsonSerializable constructor and how we can use them to customize the serialization and deserialization of our JSON data.

We will discuss all the below methods of JsonSerializable Constructor.

  • anyMap
  • checked
  • constructor
  • createFactory
  • createFieldMap
  • createPerFieldToJson
  • createToJson
  • disallowUnrecognizedKeys
  • explicitToJson
  • fieldRename
  • ignoreUnannotated
  • includeIfNull
  • converters
  • genericArgumentFactories

The json_serializable package is a code generation library for Dart that simplifies the process of serializing and deserializing JSON data. With json_serializable, you can annotate your model classes with the json_annotation package, which tells the library which classes to generate serialization and deserialization code for.

To generate the code, you simply need to run the code generator using the build_runner package. This generates the Dart files necessary for the serialization and deserialization process.

For the full version of this blog and more expert tips, visit Canopas Blog now!

Top comments (0)