从飞镖中的嵌套地图获取字符串
get String from nested Map in dart
我的地图:
{Info: {name: Austin, Username: austinr}}
我正在使用此行将 myName 变量设置为 "Austin"
String myName = map["name"] as String;
然而..这一行似乎将字符串 "myName" 设置为空。
只是在寻找一种从地图中提取我的名字和用户名的方法
谢谢
我能够 运行 成功执行以下代码。
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
键,你也会得到一个错误。
使用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
我的地图:
{Info: {name: Austin, Username: austinr}}
我正在使用此行将 myName 变量设置为 "Austin"
String myName = map["name"] as String;
然而..这一行似乎将字符串 "myName" 设置为空。 只是在寻找一种从地图中提取我的名字和用户名的方法
谢谢
我能够 运行 成功执行以下代码。
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
键,你也会得到一个错误。
使用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