【问题标题】:How to display different different data form in Json response?如何在 Json 响应中显示不同的不同数据形式?
【发布时间】:2021-10-14 14:04:32
【问题描述】:

我已成功从我的 API 获得响应,也可以在我的应用程序中显示 StatusMessage。 但是如何显示NameEncUserId,因为它在UserData 内部 这是我在 Postman 中的 JSON 响应

{
"Status": "1",
"Message": "You are Logged in successfully",
"UserData": {
    "Name": "qwerty@gmail.com",
    "EncUserId": "GO9gj3aSUKCpxE3AMSbh/A=="
    }
}

我正在以这种格式在我的应用中显示我的 Json 响应

    Text("Status: ${widget.response.status}"),
    Text("Message: ${widget.response.message}"),

这里是 API 模型

class ApiResponse {
ApiResponse({
    required this.status,
    required this.message,
    required this.userData,
});

String status;
String message;
UserData? userData; 

factory ApiResponse.fromJson(Map<String, dynamic> json) => ApiResponse(
    status: json["Status"],
    message: json["Message"],
   
     userData: json["UserData"] == null? null:UserData.fromJson(json["UserData"] as Map<String, dynamic>),
    );


}

class UserData {
    UserData({
        required this.name,
        required this.encUserId,
    });

String name;
String encUserId;

    factory UserData.fromJson(Map<String, dynamic> json) => UserData(
        name: json["Name"],
        encUserId: json["EncUserId"],
    );

}

【问题讨论】:

  • 您还可以访问 UserData,例如 Message/status -> Text("Name: ${widget.response.UserData.Name}")。试试这个?
  • 它在UserData ==> The getter 'UserData' isn't defined for the type 'ApiResponse'. 下显示错误我必须在我的模型类中做些什么吗?
  • 第一次只获取 UserData 并检查错误是否发生?如果没有,则在 UserData 数组数据中获取/获取。文本(“名称:${widget.response.userData.name}”);
  • 它通过放置 Null 检查器来工作! Text("Name: ${widget.response.userData!.name}"), 谢谢

标签: json flutter api dart


【解决方案1】:

这会起作用

Text("name: ${widget.response.userData.name}"),
Text("encUserId: ${widget.response.userData.encUserId}")

【讨论】:

  • 是的,我还必须添加 Null 检查器 Text("Name: ${widget.response.userData!.name}"),
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多