【flutter-DIO-JSON】多层嵌套读取

当JSON返回结果是多层嵌套的时候,可以通过逐层解析来提取所需的数据。以下是一个简单的示范例子,展示了如何处理一个3层嵌套的JSON返回结果:

Dart 复制代码
import 'package:dio/dio.dart';

void main() async {
  Dio dio = Dio();

  try {
    Response response = await dio.get('https://jsonplaceholder.typicode.com/todos/1');

    if (response.statusCode == 200) {
      Map<String, dynamic> data = response.data;

      // 提取第一层数据
      int userId = data['userId'];
      int id = data['id'];
      String title = data['title'];

      // 提取第二层数据
      Map<String, dynamic> nestedData = data['nestedData'];
      int nestedId = nestedData['nestedId'];
      String nestedInfo = nestedData['nestedInfo'];

      // 提取第三层数据
      Map<String, dynamic> deeplyNestedData = nestedData['deeplyNestedData'];
      int deeplyNestedId = deeplyNestedData['deeplyNestedId'];
      String deeplyNestedInfo = deeplyNestedData['deeplyNestedInfo'];

      // 打印提取后的数据
      print('User ID: $userId');
      print('ID: $id');
      print('Title: $title');
      print('Nested ID: $nestedId');
      print('Nested Info: $nestedInfo');
      print('Deeply Nested ID: $deeplyNestedId');
      print('Deeply Nested Info: $deeplyNestedInfo');
    } else {
      print('Request failed with status: ${response.statusCode}');
    }
  } catch (e) {
    print('Error: $e');
  }
}

在这个示例中,我们假设返回的JSON数据有3层嵌套结构,我们逐层提取数据并打印出来。可以根据实际情况调整代码以适应您的数据结构。

相关推荐
醉颜凉5 分钟前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言
默 语6 分钟前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
Brilliantwxx32 分钟前
【STM32】 I2C_EEPROM_test 工程(实战篇)
开发语言·stm32·单片机·嵌入式硬件·ecmascript
清水白石00838 分钟前
Python 异步编程深度解析:Cancellation 到底是异常还是控制信号?从 asyncio 取消机制到企业级事务设计最佳实践
开发语言·python
kolyle44 分钟前
万级 QPS 下的 Token 分发系统架构:从 0 到 1 跑通 AI 时代的“水电煤“
开发语言·人工智能·系统架构·token·qps·极智词元·大模型私有化部署
caoerzhong1 小时前
JeeWMS 开源仓库管理系统 GPL-3.0 合规指南:Java WMS 二次开发前必须弄清的授权边界
java·开发语言·开源·vue
Patrick在香港1 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
Sylvia33.1 小时前
火星数据体育API|一站式接入足球篮球电竞等18+项目实时数据
java·开发语言·python·websocket·游戏
Data_Journal2 小时前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy
yume_sibai2 小时前
12-Rust 性能优化指南(性能分析 + 内存优化 + SIMD + 并发优化 + 编译器优化 + 基准测试)
开发语言·性能优化·rust