Dart 遍历嵌套映射时的空感知运算符

Dart 遍历嵌套映射时的空感知运算符,dart,Dart,访问二级贴图元素时如何检查空值? 例如 如果项不包含客户端 我想要一些像 item['client']?['name'] 或 但这不会编译 当然,我可以做两次item['client'],或者为它引入一个局部变量,但这感觉不太好。我认为这类似于 基本上,这将是您案例的解决方案: (项目['client']??const{})['name'] 这就利用了??操作符,如果项中不存在'client',的情况下,该操作符只返回一个空映射。使用putIfAbsent,您可以使用?操作符 item.pu

访问二级贴图元素时如何检查空值? 例如

如果
不包含
客户端
我想要一些像

item['client']?['name']

但这不会编译

当然,我可以做两次
item['client']
,或者为它引入一个局部变量,但这感觉不太好。

我认为这类似于

基本上,这将是您案例的解决方案:

(项目['client']??const{})['name']

这就利用了
??
操作符,如果
项中不存在
'client'
的情况下,该操作符只返回一个空映射。使用
putIfAbsent
,您可以使用
操作符

item.putIfAbsent(“客户端”,(){})
?putIfAbsent(“名称”,({});

不,我不想更改地图内容。对,它看起来像是重复的。很抱歉
item['client']?['name']
item['client']?.['name']