在实际开发中,经常使用到数据交换格式,如:JSON 或 XML。Flutter 里也同样可以处理 JSON 格式的解析、编码操作,我们可以实现将一个 JSON 字符串转为实体类或将一个实体对象转为JSON 格式字符串。本节课主要讲解 Flutter 里的 JSON 编解码的具体用法,并结合案例进行详细的用法讲解。本文将主要介绍:
- JSON 编解码用法详解
- JSON 编解码优化
- JSON 自动序列化解码
1 JSON 编解码用法详解
当我们去请求网络数据接口或者缓存某些结构数据时,一般都会用到 JSON 数据交换格式。JSON在移动端、后端、前端中应用都非常广泛。在 Flutter 中 JSON 格式的解析使用 dart:convert 里的函数类进行编解码处理。
我们看一个最简单的编解码使用的例子:
// JSON解码
// 定义一个JSON格式字符串
String _jsonString = '{"name": "Flutter Book","author": "Google"}';
// 使用json.decode进行解码
Map<String, dynamic> book = json.decode(_jsonString);
// 解码后调用获取值
Column(
children: <Widget>[