Mobile
2,790 installs
flutter-implement-json-serialization
by flutter/skills
Create model classes with `fromJson` and `toJson` methods using `dart:convert`. Use when manually mapping JSON keys to class properties for simple data…
Skill content
Serializing JSON Manually in Flutter Contents - Core Guidelines - Workflow: Implementing a Serializable Model - Workflow: Fetching and Parsing JSON - Examples Core Guidelines - Import dart:convert: Utilize Flutter's built-in dart:convert library for manual JSON encoding (jsonEncode) and decoding (jsonDecode). - Enforce Type Safety: Always cast the dynamic result of jsonDecode() to the expected type, typically Map<String, dynamic> for objects or List<dynamic> for arrays. - Encapsulate Serialization Logic: Define plain model classes containing properties corresponding to the JSON structure. Implement a fromJson factory constructor and a toJson method within the model. - Handle Background Parsing: If parsing large JSON documents (execution time > 16ms), offload the parsing logic to a separate isolate using Flutter's compute() function to prevent UI jank. - Throw Exceptions on Failure: When handling HTTP responses, throw an exception if the status code is not successful (e.g., not 200 OK or 201 Created). Do not return null. Workflow: Implementing a Serializable Model Use this checklist to implement manual JSON serialization for a data model.