flutter - 无法在颤振网络中解析我的响应正文
问题描述
我有以下格式的响应正文:
Response body: [[{"fraud_cnt":0,"total_cnt":55364},{"fraud_cnt":1694,"total_cnt":1694}]]
我尝试在下面创建和对象
class Album {
final String fraud_cnt;
final int total_cnt;
Album({
required this.fraud_cnt,
required this.total_cnt,
});
factory Album.fromJson(Map<String, dynamic> json) {
return Album(
fraud_cnt: json['fraud_cnt'],
total_cnt: json['total_cnt'],
);
}
}
return Album.fromJson(jsonDecode(response.body));
但我得到了错误
Error: Expected a value of type 'Map<String, dynamic>', but got one of type 'List<dynamic>'
我已经尝试了所有方法来遍历它并获取里面的值,但是它不起作用,有谁知道我如何遍历它并获取值
解决方案
你的 json 看起来有两个数组(注意两个[[
)。
所以你有2个解决方案:
1 - 改变 JSON(如果可以的话)看起来像(似乎是最好的):
[{"fraud_cnt":0,"total_cnt":55364},{"fraud_cnt":1694,"total_cnt":1694}]
2 - 从您拥有的 JSON 中获取 Map<String, dynamic> (不是推荐的):
factory Album.fromJson(List<dynamic> json) {
Map<String, dynamic> json = json.first; // need to be improved
return Album(
fraud_cnt: json['fraud_cnt'],
total_cnt: json['total_cnt'],
);
}
推荐阅读
- windows - Windows 操作系统的电源选项或注册表中的屏幕唤醒设置?
- highcharts - 当大量 x 轴刻度时,Highcharts 仅显示特定刻度
- ads - 在网站上轮换 CPM 广告的简单算法
- powershell - 导出 Csv 帮助 PowerShell
- shell - Shell 脚本停止写入日志文件
- javascript - 画布,在没有库的情况下使用 Javascript 在几个点之间绘制(拉伸)图像
- go - 由于缺少包含路径,无法构建使用 Swig 构建的 go 模块
- java - unoil API:如何为插入的图像添加标题?
- linux - i2c 内核驱动程序 - sysfs kobject 和 i2c_client 之间的绑定
- javascript - 在响应的角度组对象数组中?