0

如何检查[]服务器何时响应Flutter

{
   "Status": true,
   "Data": []
}

如果“数据”有值,它将返回以下内容

{
   "Status": true,
   "Data": {
      "id": "123",
      "pass": "456"
    }
}

我正在使用dio请求 API。

4

1 回答 1

0

您可以将 Data 属性的值视为dynamic并根据数据类型决定如何进行解析。因此,假设您有一个模型类 A,具有以下属性:

class Order {
  final String status;
  final dynamic data;

  Order({this.status, this.data});

  factory Order.fromJson(Map<String, dynamic> json) => Brand(
        status: json['Status'],
        data: json['Data'],
      );
}

成功解析响应后,您可以扩展该模型类来解析不同的属性(附加属性)以包含列表或对象或对象。如果您需要检查对象类型,您可以这样做:

if (order.data is List) {
  // Code that handles JSON list response
} else if (order.data is Map<String, dynamic>) {
  // Code that handles JSON object response
}
于 2020-07-31T19:41:51.303 回答