0

我正在尝试使用以下方法读取 json 文件的组件:

import 'dart:io';

class CharacterDataReader {
  Future<String> read() async {
    final file = File('assets/data/character_data.json');

    String data = await file.readAsString();

    return data;
  }
}

现在,我正在尝试使用以下命令将读取的值分配给另一个名为 data 和 json.decode() 的字符串:


Future<String> data = CharacterDataReader().read();
Map<String, dynamic> characterData = json.decode(data);

但是,这不起作用,因为 json.decode() 只接受字符串作为参数。因此,有人可以告诉我如何将此 Future 转换为实际的字符串吗?

4

1 回答 1

1

因为它是一个未来,你必须添加 await 关键字

String data= await CharacterDataReader().read();

查看关于异步编程的飞镖官方文档

于 2020-11-25T06:11:51.277 回答