Flutter:未为类型 '[]' 定义运算符 'Object' 。尝试定义运算符 '[]'

标签 flutter dart

如何获取嵌套对象的值? print(_user.userLocation()['location']); 返回{国家/地区:埃斯蒂,城市:塔林}

因此,我尝试使用 _user.userLocation()['location']['city'] 来获取值 Tallinn。然而,我得到了

没有为类型“Object”定义运算符“[]”。尝试定义运算符“[]”。

print(_user.userLocation()) print(_user.location().runtimeType); 返回

location: {
   country: Eesti,
   city: Tallinn,
}

flutter: _InternalLinkedHashMap<String, dynamic>

我尝试将变量设置为 var a = _user.location()['location'],然后设置为 a['city']。然而,这并不奏效。

最佳答案

你应该这样尝试,

var a = _user.userLocation() as Map;
print(a['location]['city']);

我这里的问题是dart的类型推断无法自动识别类型。因此它给出了错误。但是上面的解决方案应该有效

关于Flutter:未为类型 '[]' 定义运算符 'Object' 。尝试定义运算符 '[]',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65450723/

相关文章:

Flutter 在滚动 ListView 上显示和隐藏容器

flutter - 所有卡片的 TextField 值更改

dart - 类型检查条件表达式

android - 有没有办法使用 just_audio 快进?

flutter - Map的Cloud Firestore查询在Flutter/Dart中返回空快照

flutter - 检查当前位置是否靠近其他位置

flutter - 使用Flutter进行汽车加减速

dart - 使用 shift+r flutter 时,Vscode 不支持全局评估

dart - Flutter - 创建倒计时小部件

flutter - 如何将延迟加载添加到此列表?