空安全和检查“空”

问题描述

这段代码

  static fromJson(Map<String,dynamic> j) {
    return _TheCountry(
      name: j["Name"]??"",dialCode: j["DialCode"]??"",iso2Code: j["Iso2"]??"",englishName: j["EnglishName"]??"",iso3Code: j["Iso3"]??"",currency: j["Currency"]??"",capital: j["Capital"]??"",dialLengths: List.castFrom(getDialLengths(j["DialLength"]??"",)),);
  }

以前工作过,但现在测试失败了,

Failed to load "xxx/xxxx/the_country_number_test.dart": type 'Null' is not a subtype of type 'String'

访问 j['DialCode'] 时抛出错误('DialCode' 属性可能不存在), AFAIK 通过 j['DialCode'] 访问 DialCode 属性给了我 Null 对象但是我如何摆脱使用 j['DialCode']??""

解决方法

尝试像这样使用contains

j.contains("DialCode") ? j["DialCode"] : “” 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...