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.
Libraries
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
- AngularDart Tutorial, part 6: HTTP
- Illustrates how a Dart web app can interact with a RESTful backend using JSON data.
- Using HTTP resources with HttpRequest
- Demonstrates how to use HttpRequest to exchange data with a web server. Part of the dart:html library tour.
VM resources
- Write HTTP Clients & Servers
- Walks through how to implement command-line clients and servers that exchange JSON data.