我无法写入从API提取的数据(颤振)

我无法写入从API提取的数据(颤振),api,flutter,Api,Flutter,我从汇率API中提取数据。我可以在控制台中显示捕获的数据,但不能在页面中间的文本框中显示。 这里是我的api: 这是我的模型: 导入'dart:convert'; 列表dovizFromJson(字符串str)=> List.from(json.decode(str.map)(x)=>Doviz.fromJson(x)); 字符串dovizToJson(列表数据)=> encode(List.from(data.map((x)=>x.toJson()); 多维兹类{ 多维兹({ 这是艾利斯,

我从汇率API中提取数据。我可以在控制台中显示捕获的数据,但不能在页面中间的文本框中显示。

这里是我的api:

这是我的模型:

导入'dart:convert';
列表dovizFromJson(字符串str)=>
List.from(json.decode(str.map)(x)=>Doviz.fromJson(x));
字符串dovizToJson(列表数据)=>
encode(List.from(data.map((x)=>x.toJson());
多维兹类{
多维兹({
这是艾利斯,
这是萨蒂斯,
这个,德吉西姆,
});
弦肌;
弦乐;
弦脱气;
工厂Doviz.fromJson(映射json)=>Doviz(
alis:json[“alis”],
satis:json[“satis”],
degisim:json[“degisim”],
);
映射到JSON()=>{
“alis”:alis,
“satis”:satis,
“脱气”:脱气,
};

}
文本小部件接受字符串。您正试图通过地图

而不是

Text('$data');
试一试


尝试这种方法,将顶部数据变量的类型更改为map,然后在方法上设置:

在initState上调用getDoviz,然后调用用户setState:

 Map<String, dynamic> data;

@override
void initState() {
  super.initState();
  getDoviz();
}

  Future<List<Doviz>> getDoviz() async {
    var response = await http.get(Uri.parse("myURL"));

    setState(() {
      data =
        new Map<String, dynamic>.from(json.decode(response.body));
    });
    
    print(data['EUR']);
  }

不幸的是,它没有起作用。位置参数太多:应为1个,但找到2个。我的错误是我忘了添加
。我更新了我的答案。使用文本(data['EUR'].toString())没有为“Future”类型定义运算符“[]”。非常感谢您的帮助,但现在它没有写入控制台,仍然无法工作。仍然没有在控制台和文本框中键入。错误:对null调用了方法“[]”。接收者:null尝试调用:[”(“EUR”)调用initState上的方法,并检查小部件上是否为null。哦,天哪,这正在工作。真的非常感谢你,你救了我一整天。
 Map<String, dynamic> data;

@override
void initState() {
  super.initState();
  getDoviz();
}

  Future<List<Doviz>> getDoviz() async {
    var response = await http.get(Uri.parse("myURL"));

    setState(() {
      data =
        new Map<String, dynamic>.from(json.decode(response.body));
    });
    
    print(data['EUR']);
  }
Text(data != null ? data['EUR']['satis'].toString() : 'Waiting result')