jsonDecode 函数
解析字符串并返回结果 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);