Mag*_*s W 5 exception dart flutter
我正在使用 Dart/Flutter 解码 JSON 字符串,并且我想确保结果Map具有我期望的所有键。
return MyRecord(
id: jsonObj['id'],
name: jsonObj['name'],
description: jsonObj['description']
);
Run Code Online (Sandbox Code Playgroud)
我以为如果我尝试访问地图中不存在的键,我会得到一个异常,但 Dart 却默默地返回null。我想我可以简单地使用类似的东西
if( !(jsonObj.containsKey('id')
&& jsonObj.containsKey('name')
&& jsonObj.containsKey('description')) )
throw new ArgumentError('Invalid JSON for converting to MyRecord: $jsonObj');
Run Code Online (Sandbox Code Playgroud)
但我希望有一种更方便的方法来实现我想要的?
仍然不是超级方便,但有可能:
MyRecord(
id: jsonObj['id'] ?? (throw ArgumentError("id is required")),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2438 次 |
| 最近记录: |