我的地图:
{Info: {name: Austin, Username: austinr}}
我正在使用此行将myName变量设置为“奥斯汀”
String myName = map["name"] as String;
但是..这行似乎将字符串“ myName”设置为null。 只是在寻找一种从地图上提取我的名字和用户名的方法
谢谢
答案 0 :(得分:3)
此外,如果您想在 Dart 中使用地图,尤其是嵌套键,您也可以使用 gato 包。
基本方式:
var map = {
'Info': {
'name': 'Austin',
'Username': 'austinr',
'address': {'city': 'New York'}
}
};
String city = map['Info']['address']['city'] as String;
print(city);
但这有点脏,如果地图中没有 address
键,您也会收到错误消息。
使用 Gato
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
答案 1 :(得分:2)
我能够成功运行以下代码。
var map = {"Info":{"name": "Austin", "Username": "austinr"}};
String myString = map["Info"]["name"] as String;
print(myString);
预期输出为Austin
。请尝试这个。