You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
samples/jsonexample
dependabot[bot] 18a4342dd1
Bump built_value from 8.2.2 to 8.2.3 in /jsonexample (#1173)
3 years ago
..
android Update Android files in jsonexample (#1018) 3 years ago
ios Update `pubspec.lock` and friends (#1076) 3 years ago
lib rename constants (#1047) 3 years ago
linux Update `pubspec.lock` and friends (#1076) 3 years ago
macos Update `pubspec.lock` and friends (#1076) 3 years ago
test Remove unneeded types (#949) 3 years ago
web jsonexample: Update lint rules, rebuild runners (#826) 3 years ago
windows Remove git:// url, update deps, fix `destop_photo_search` (#1052) 3 years ago
.gitignore Maintenance on jsonexample (#205) 5 years ago
.metadata Maintenance on jsonexample (#205) 5 years ago
README.md Maintenance on jsonexample (#205) 5 years ago
analysis_options.yaml Centralize analysis options (#957) 3 years ago
build.yaml Maintenance on jsonexample (#205) 5 years ago
pubspec.lock Bump built_value from 8.2.2 to 8.2.3 in /jsonexample (#1173) 3 years ago
pubspec.yaml Bump built_value from 8.2.2 to 8.2.3 in /jsonexample (#1173) 3 years ago

README.md

jsonexample

A Flutter sample app that deserializes a set of JSON strings using three different libraries: dart:convert, json_serializable, and built_value.

Goals for this sample

  • Help you decide which of the three most common libraries for deserializing JSON is right for your project.
  • Provide you with example code for deserializing:
    • Simple and nested objects
    • Lists of primitive values
    • Maps containing primitive values

The important bits

json_strings.dart

The actual JSON to be deserialized.

dart_convert/json_serializable/dart_convert

These folders contain code used to deserialize the simple and complex object models using one of the three libraries. They do the work of instantiating models and populating their fields.

tab_pages.dart

Each tab page in the app deserializes one type of data with one library. These Widgets show what app code using the above libraries might look like.

Generating

The lib/build_value and lib/json_serializable use build_runner to generate files. If you make a change to these files, you need to re-run the generator using build_runner:

flutter pub run build_runner build

Questions/issues

If you have a general question about JSON serialization in Flutter, the best places to go are:

If you run into an issue with the sample itself, please file an issue in the main Flutter repo.