带有 jsondecode var 输出的 Flutter 条件语句

Flutter conditional statement with output of jsondecode var

我想为 JSONdecode 的不同输出显示不同的图像。我在 01d 和 50d 之间得到 var。例如,当它给出 04d 时,我想显示 Image 'assets/night.png',对于 05d,我想显示 Image 'assets/afternoon.png' 等等。 我是一个完全的flutter初学者,我是这么想的:

var current_icon;

  Future getWeather () async {
    http.Response response = await http.get(Uri.parse("https://api.openweathermap.org/data/2.5/weather?q=city&appid=****"));
    var results = jsonDecode(response.body);
    setState(() {
      this.current_icon = results['weather'][0]['icon'];
    });
  }
@override
  void initState () {
    super.initState();
    this.getWeather();
  }

然后把它放在我的容器里:

new Container(
    height: double.infinity,
    width: double.infinity,
    child: new Image(
          image: (What should I do here?),
          fit: BoxFit.cover,
       ),
    ), 

根据您的查询假设所有图像都来自资产。您可以按照您的要求制作案例:

String getImageData(String id) {
    String value = '';
    switch (id) {
      case '01d':
        value = 'assets/a.png';
        break;
      case '02d':
        value = 'assets/b.png';
        break;
      default:
        value = 'assets/c.png';
    }
    return value;
  }

将下面的小部件作为容器小部件的子项传递

Widget imageWidget() {
    return Image.asset(
      getImageData('01d'), // pass your value here
      fit: BoxFit.cover,
    );
  }