【问题标题】:Check if property exits in json检查json中是否存在属性
【发布时间】:2021-04-22 09:59:54
【问题描述】:

所以我遇到了一些麻烦。

我正在使用 API,如果属性为 null

{
  "Amount": {
    "Value": null,
    "Currency": "USD"
  }
}

这是最开始的方式,我使用的是value = json["Amount"]["Value"] == null ? '' : json["Amount"]["Value"];

{
  "Amount": {
    "Currency": "EUR"
  }
}

现在该值已经消失了,那么如何在“.fromJson(Map json)”中检查它?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    使您的值成为可为空的类型定义。

    String? value = null;
    value = json["Amount"]["Value"] == null ? '' : json["Amount"]["Value"];
    

    你也可以先修剪一下

    amount = json["Amount"];
    
    value = json["Value"]?? "";
    

    value = json["Value"]??= "";
    

    或阅读此属性 Flutter Property Doc

    【讨论】:

      【解决方案2】:

      如果你想检查 Json(Map) 中的任何键(Property) 是否存在,你可以使用这个

      bool contains = json['Amount']?.containsKey('Value') ?? false;
      

      它会相应地返回真/假。

      【讨论】:

      • 修正你对 bool contains = json['Amount']?.containsKey('Value') ??错误的;对于 null 安全
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 2018-02-28
      相关资源
      最近更新 更多