我的地图:
{Info: {name: Austin, Username: austinr}}
我正在使用这一行将 myName 变量设置为"奥斯汀">
String myName = map["name"] as String;
但是..此行似乎将字符串"myName"设置为null。 只是在寻找一种从地图中提取我的名字和用户名的方法
谢谢
我能够成功运行以下代码。
var map = {"Info":{"name": "Austin", "Username": "austinr"}};
String myString = map["Info"]["name"] as String;
print(myString);
输出按预期Austin
。请尝试此。
此外,如果您想在 Dart 中使用地图,尤其是嵌套键,您也可以使用 gato 包。
基本方式:
var map = {
'Info': {
'name': 'Austin',
'Username': 'austinr',
'address': {'city': 'New York'}
}
};
String city = map['Info']['address']['city'] as String;
print(city);
但是它有点脏,如果您的地图中没有address
键,您也会收到错误。
使用加托
import 'package:gato/gato.dart' as gato;
.
.
.
var map = {
'info': {
'name': 'Austin',
'username': 'austinr',
'address': {'city': 'New York'}
}
};
// Get value from a map
print(gato.get<String>(map, 'info.address.city')); // New York
// Set a value to a map
map = gato.set<String>(map, 'info.address.city', 'Other City');
print(gato.get<String>(map, 'info.address.city')); // Other City
完整文档