Json 颤振快照数据为空

Json 颤振快照数据为空,json,flutter,Json,Flutter,我对flutter是新手,我尝试从restapi解析数据。 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(ur

我对flutter是新手,我尝试从restapi解析数据。 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;
    }
    }
  }
class服务{
静态未来获取(字符串url)异步{
试一试{
最终响应=等待http.get(url);
var jsonData=json.decode(response.body);
如果(response.statusCode==200){
打印(response.body.length);//3231
返回jsonData;
}否则{
返回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}');
  }
返回脚手架(
appBar:appBar(标题:Text('Posts'),),
正文:未来建设者(
future:ApiService.getUserList(),
生成器:(BuildContext上下文,异步快照){
打印(snapshot.hasData.toString());//False无数据
静态未来getUserList()异步{
返回wait_get('${URL.BASE_API_URL}');
}
如果json开头没有项,一切正常。我的web服务器会在开头返回项。有什么解决方案吗?

必须尝试调用

future: ApiService.getUserList().then((onValue) {
                      return onValue;
                    }
api返回
Map
not

类ListaAbitudini扩展StatefulWidget{
@凌驾
状态createState(){
返回新的_ListaAbitudiniState();
}
}
类_ListaAbitudiniState扩展状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“帖子”),
),
正文:未来建设者(
future:ApiService.getUserList(),
生成器:(BuildContext上下文,异步快照){
if(snapshot.hasData)
打印(“真实”);
返回容器();
}));
}
}
班级服务{
静态未来getUserList()异步{
返回等待http://www.json-generator.com/api/json/get/cqwVqdOFrC?indent=2');
}
静态未来获取(字符串url)异步{
试一试{
最终响应=等待http.get(url);
var jsonData=json.decode(response.body);
如果(response.statusCode==200){
打印(response.body.length);//3231
返回jsonData;
}否则{
返回null;
}
}捕获(e){
印刷品(e);
}
}
}

通常当
hasError=true
时,您会得到
hasData=false
。尝试查找snapahot错误(
snapshot.error

我们可以看到
getUserList()
的主体以及它返回的内容吗?@suhaibsalem添加到问题中!
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);
    }
  }
}