jsonDecode 函数

dynamic jsonDecode(
  1. String source,
  2. {Object? reviver(
    1. Object? key,
    2. Object? value
    )?}
)

解析字符串并返回结果 Json 对象。

可选的 reviver 函数在解码过程中对每个被解析的对象或列表属性调用一次。参数 key 是列表属性的整数索引、对象属性的字符串键或者最终结果的 null

默认的 reviver(当未提供时)是恒等函数。

json.decode 的缩写。如果局部变量遮蔽了全局 json 常量,则非常有用。

示例

const jsonString =
    '{"text": "foo", "value": 1, "status": false, "extra": null}';

final data = jsonDecode(jsonString);
print(data['text']); // foo
print(data['value']); // 1
print(data['status']); // false
print(data['extra']); // null

const jsonArray = '''
  [{"text": "foo", "value": 1, "status": true},
   {"text": "bar", "value": 2, "status": false}]
''';

final List<dynamic> dataList = jsonDecode(jsonArray);
print(dataList[0]); // {text: foo, value: 1, status: true}
print(dataList[1]); // {text: bar, value: 2, status: false}

final item = dataList[0];
print(item['text']); // foo
print(item['value']); // 1
print(item['status']); // false

实现

dynamic jsonDecode(String source,
        {Object? reviver(Object? key, Object? value)?}) =>
    json.decode(source, reviver: reviver);