json - 使用动态键解析来自 JSON 的地图列表
问题描述
我有这个 JSON:
[
{
"5e4442a72414233f286d655e": 5
},
{
"5e599a7cbf66db8faeff3e2b": 3
}
]
我想解析它,以便最终List<Map<String, int>>
得到类似的东西,让我可以访问键和值,知道键不是固定字符串。
我尝试的方法是:
jsonDecode(jsonString) as List<Map<String, int>>
但我收到以下错误
type 'List<dynamic>' is not a subtype of type 'List<Map<String, int>>'
有没有办法实现我正在寻找的东西?
解决方案
jsonDecode
将键入它返回的所有内容作为某种类型,dynamic
无论是 a还是只是. 然而,仅仅因为它是这样输入的,并不意味着它不能转换成你想要的类型。List<dynamic>
Map<String, dynamic>
dynamic
var list = jsonDecode(jsonString) as List;
var castList = list.cast<Map>().map((m) => m.cast<String, int>()).toList();
// castList will be List<Map<String, int>>
推荐阅读
- ios - 应用程序在模拟器上接收不同的推送通知结构,并且当 prod build 安装在真实设备 iOS Flutter 上时
- python - Python - deepcopy() 是否在内存中创建另一个类/静态变量的副本?
- github - 如何在 Openshift 中更新从 git 手动创建的应用程序?
- sql-server - 为什么此时需要一个字符串?
- azure - 将 Azure 功能部署到 linux 消费计划
- html - 定位元素在页面中心和内联
- java - 创建 X 个日期的算法
- python - 多次重复值 n,n 在数组中
- python - Pandas 为特定值聚合 groupby
- javascript - 简单地在 Vue 方法中解析时间,推送到 Firebase DB