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

Flutter如何从API返回的JSON中提取并打印姓名、邮政编码

要从当前获取到的JSON响应中提取指定字段,不需要改动现有的请求逻辑,只需要在200状态码的分支中补充JSON解析步骤即可,具体操作如下:

  • 第一步:在页面/脚本的文件顶部引入Dart内置的JSON解析工具库
import 'dart:convert';
  • 第二步:替换原有200响应分支的打印逻辑,将纯字符串响应转换为可按键名读取的Map结构,再按字段层级提取目标值:
if (response.statusCode == 200) {
  // 读取完整的响应文本
  final responseText = await response.stream.bytesToString();
  // 将JSON文本解析为键值对结构
  final Map<String, dynamic> parsedJson = jsonDecode(responseText);

  // 提取顶层first_ame字段(注意接口返回的该字段本身拼写为first_ame,并非通用的first_name)
  final extractedName = parsedJson['first_ame'];
  // 提取嵌套在address对象下的zip_code字段
  final extractedZip = parsedJson['address']['zip_code'];

  // 打印目标值
  print('提取到的名字:$extractedName');
  print('提取到的邮政编码:$extractedZip');
}

实操注意事项

  • 字段名必须和接口返回完全匹配:本次接口返回的名字字段为拼写存在缺漏的first_ame,如果习惯性写为first_name会取不到值,返回null
  • 增加空值防护避免运行时报错:如果担心接口返回结构变动,可以在取嵌套字段时增加可选链判断,例如取邮政编码时写为parsedJson['address']?['zip_code'],即使address字段缺失也不会抛出异常
  • 类型转换:解析出的字段默认是dynamic类型,如果需要固定为字符串类型,可以在取值后做强转,例如parsedJson['first_ame'] as String

内容的提问来源于stack exchange,提问作者Al-Hashimy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 10:57:05