You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中无需模型类解析JSON并获取单个值的方法

问题解决:Dart中直接解析JSON获取指定值

你的代码问题出在JSON路径错误——你试图从result字段里取USD,但实际上USD是嵌套在rates对象下的,result只是返回的状态字符串(值为"success"),这样访问肯定会报错。

修正后的代码如下:

void getCurrenciesRatesFromServer() {
  repository.getCurrenciesRates(selectedFromCountryCode).then((value) {
    var response = json.decode(value);
    // 先拿到rates对象,再取USD对应的值
    double? usdRate = response['rates']['USD'];
    log("USD汇率:$usdRate");
  }).onError((error, stackTrace) {
    log("$error");
  });
}

额外说明:

  • 如果你需要处理空安全,避免空指针异常,可以添加判断逻辑:
    if (response.containsKey('rates') && response['rates'].containsKey('USD')) {
      double usdRate = response['rates']['USD'];
      log("USD汇率:$usdRate");
    } else {
      log("未找到USD汇率数据");
    }
    
  • 原代码里的async是多余的,因为then回调中没有异步操作,直接去掉即可。

内容的提问来源于stack exchange,提问作者Syed Baber Mehmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 00:44:55