Most mobile and web apps use JSON for tasks such as exchanging data with a web server. This page discusses Dart support for JSON serialization and deserialization: converting Dart objects to and from JSON.



The following libraries and packages are useful across Dart platforms:

  • dart:convert
    Converters for both JSON and UTF-8 (the character encoding that JSON requires).

  • package:json_serializable
    An easy-to-use code generation package. When you add some metadata annotations and use the builder provided by this package, the Dart build system generates serialization and deserialization code for you.

  • package:built_value
    A powerful, opinionated alternative to json_serializable.

Flutter resources

JSON and serialization
Shows how Flutter apps can serialize and deserialize both with dart:convert and with json_serializable.

Web app resources

Fetch data from the internet
Demonstrates how to use package:http to retrieve data with a web server.