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

如何将特殊结构的JSON数组解析为Dart类?

解析特殊结构的API响应问题解决

问题背景

某API返回的JSON响应结构如下,是一个包含多个单键值对对象的数组:

[{"version": "v3.5"}, {"setup": true}, {"address": "e7d398b"}, {"connected": true}, {"active": true}, {"id": "ce7143"}, {"genuine": true}]

失败的尝试

  1. 使用quicktype生成的Result类尝试解析,代码如下:
List<Result>.from(result.map((x) => Result.fromJson(x)));

解析失败,原因是数组中每个对象仅包含单个键,与Result类的结构不匹配。

  1. 尝试用Dio编写代码直接处理数组元素:
final result = response.data;
var b = List.empty(growable: true);
result.map((x) => b.add(x));

这段代码无法正常运行,无法访问数组元素。

可行的解析方案

通过将数组中所有单键值对对象合并为一个完整的Map,再用Result.fromJson解析,代码如下:

final result = response.data;
Map<String, dynamic> map = {};
for (var e in result) {
  map.addAll(e);
}
final finalResult = Result.fromJson(map);
return finalResult;

内容的提问来源于stack exchange,提问作者rrttrr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:35:18