flutter - 即使快照有数据,数据也返回 Null,Flutter
问题描述
我正在调用一个 API,返回数据说它不是空的,但我FutureBuilder
返回 null 值。当我打印出 response.body 时,它说 : {"statusCode":200,"message":"Success"}
,所以我不确定 API 是错误的还是其他原因?
接口调用:
Future<UserData> getUser() async {
final response =
await APIRequest(Method.GET, '/users/' + this._loggedUserEmail);
Map<String, dynamic> jsonDecodedResponse = jsonDecode(response.body);
return UserData(
name: jsonDecodedResponse['name'],
surname: jsonDecodedResponse['surname'],
email: jsonDecodedResponse['email'],
phoneMobile: jsonDecodedResponse['phoneMobile'],
address: jsonDecodedResponse['address'],
dateCreated: jsonDecodedResponse['dateCreated'],
dateModified: jsonDecodedResponse['dateModified']);
}
用户型号:
import 'package:flutter/foundation.dart';
import 'dart:core';
class UserData extends ChangeNotifier {
final String dateCreated,
dateModified,
name,
surname,
email,
phoneMobile,
address;
UserData({
this.dateCreated,
this.dateModified,
this.name,
this.email,
this.surname,
this.phoneMobile,
this.address,
});
factory UserData.fromJson(Map<String, dynamic> json) {
return UserData(
dateCreated: json['dateCreated'],
dateModified: json['dateModified'],
name: json['name'],
surname: json['surname'],
email: json['email'],
phoneMobile: json['phoneMobile'],
address: json['address'],
);
}
}
未来建设者:
Future<UserData> _getUserValues() async {
final _userData = await APIcalls.instance.getUser();
return _userData;
}
.....
FutureBuilder<UserData>(
future: _getUserValues(), // async work
builder: (BuildContext context, AsyncSnapshot<UserData> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return Text('Loading....');
default:
if (snapshot.hasError)
return Text('Error: ${snapshot.error}');
else
return Text('Result: ${snapshot.data.email}'); // returns null
}
},
);
我是在解析 JSON 数据(再次),还是有其他问题?在此先感谢您的帮助。
解决方案
推荐阅读
- python - 通过 Python 中的用户输入进行最大值和最小值排序
- c# - netcoreapp3.1 worker服务项目中如何使用Microsoft.Extensions.Http.Polly
- c# - AppleCommonCryptoCryptographicException - MAC 验证失败 - 从 keyvault 下载 X.509 证书时密码错误
- c# - 使用 C# 和 MS SQL 数据库的登录表单
- php - 在Javascript中解析数据时显示非对象值的空结果
- kubernetes - Kubernetes:不遵守 topologySpreadConstraint
- php - 重定向 Woocommerce 优惠券网址
- vba - VBA - 如何计算来自多个实例的打开 Word 文档
- reactjs - React-S3 错误:ReferenceError:未定义缓冲区
- flutter - dartz中的dflt是什么意思?