json - Flutter 快照数据为空
问题描述
我是flutter的新手,我尝试从rest api解析数据。API 返回:
http://www.json-generator.com/api/json/get/cqwVqdOFrC?indent=2
例如。这里从 json api 获取数据,例如。长度为 3231
class ApiService {
static Future<dynamic> _get(String url) async {
try {
final response = await http.get(url);
var jsonData = json.decode(response.body);
if (response.statusCode == 200) {
print(response.body.length); //3231
return jsonData;
} else {
return null;
}
}
}
但这里是 snapshot.hasData = False,为什么?
return Scaffold(
appBar: AppBar(title: Text('Posts'),),
body: FutureBuilder(
future: ApiService.getUserList(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
print(snapshot.hasData.toString()); //False no data
static Future<List<dynamic>> getUserList() async {
return await _get('${Urls.BASE_API_URL}');
}
在 json 开头没有项目都可以正常工作。我的网络服务器在开始时返回项目。有什么解决办法吗?
解决方案
apiMap<String, dynamic>
不返回<List<dynamic>>
class ListaAbitudini extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return new _ListaAbitudiniState();
}
}
class _ListaAbitudiniState extends State<ListaAbitudini> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Posts'),
),
body: FutureBuilder(
future: ApiService.getUserList(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if(snapshot.hasData)
print("True");
return Container();
}));
}
}
class ApiService {
static Future<Map<String, dynamic>> getUserList() async {
return await _get('http://www.json-generator.com/api/json/get/cqwVqdOFrC?indent=2');
}
static Future<dynamic> _get(String url) async {
try {
final response = await http.get(url);
var jsonData = json.decode(response.body);
if (response.statusCode == 200) {
print(response.body.length); //3231
return jsonData;
} else {
return null;
}
} catch (e) {
print(e);
}
}
}
推荐阅读
- r - 使用 MacOSX 上的文档中的示例解析 R nanotime 中的错误
- mysql - 使用 after* before* 钩子对加密字段进行后续查询
- mongodb - 在独立模式下为 mongodb 运行 kafka connect 时出现 NoClassDefFoundError
- r - R数据框使用上一行中当前行中的值
- android - React Native - 通过引用聚焦一个可触摸的对象
- node.js - Mongo DB on watch,发送附加字段
- vim - Vim 文本替换
- python - 使用列表中的值以基于现有数据框创建一些新的数据框
- python - 显示来自循环的排序结果
- ios - 禁用 UITableView 中特定 UITableViewCell 的删除选项