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

时间:2020-12-25 18:31:43

标签: flutter dart

如何获取嵌套对象值? print(_user.userLocation()['location']); 返回 {country: Eesti, city: Tallin}

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

The operator '[]' isn't defined for the type 'Object'. Try defining the operator '[]'.

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

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

flutter: _InternalLinkedHashMap<String, dynamic>

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

1 个答案:

答案 0 :(得分:2)

你应该试试这个,

target_include_directories

我在这里的问题是 dart 的 var a = _user.userLocation() as Map; print(a['location]['city']); 无法自动识别类型。因此它给出了错误。但上述解决方案应该有效