Dart Access像Json一样嵌套键值对,不使用map



使用Dart v2.8

尝试打印嵌套项目,如JSON,如下所示

var UsrVar = {
"NamVak": "UsrNam",
"MblVak": ["9876543210", "9876543212"],
"MylVak": ["usrnam@gmail.com", "usrnam@yahoo.com"],
"AdrVak": {
"AraVak" : "NamPlc",
"CtyVak": "NamCty",
"PinVak": 560056,
}
};
print(UsrVar["MylVak"][1]);
print(UsrVar["AdrVak"]["CtyVak"]);

上面的代码显示错误为:

错误:操作符'[]'没有为类'Object?'定义。

  • 'Object'来自'dart:core'。尝试将操作符更正为现有操作符,或定义'[]'操作符。print (UsrNryVar["AdrVak"["CtyVak");

UsrVar的键是Object类型的,所以您必须将返回的对象强制转换为您需要的类型:

(UsrVar["MylVak"] as List)[1]
(UsrVar["AdrVak"] as Map)["CtyVak"]

阅读更多关于Dart类型系统的信息可能会有所帮助。

最新更新