Json Dart截断HttpClientResponse

Json Dart截断HttpClientResponse,json,dart,flutter,httpresponse,Json,Dart,Flutter,Httpresponse,几天来,我一直在努力解决这个问题。代码成功地为我提供了JSON数据,但缺少许多块,使我无法将其解析为对象。下面是代码和输出。我们已经做了很多研究,欢迎提出任何建议 class TBAState extends State<TBAData>{ String url = "http://www.thebluealliance.com/api/v3/status"; HttpClient myhttp = new HttpClient(); List data; Lis

几天来,我一直在努力解决这个问题。代码成功地为我提供了JSON数据,但缺少许多块,使我无法将其解析为对象。下面是代码和输出。我们已经做了很多研究,欢迎提出任何建议

  class TBAState extends State<TBAData>{
  String url = "http://www.thebluealliance.com/api/v3/status";
  HttpClient myhttp = new HttpClient();
  List data;
  List cellTitle;

  Future getSWData() async {

    myhttp.getUrl(Uri.parse(url)).then((HttpClientRequest request) {
      request.headers.set("accept", "application/json");
      request.headers.set("X-TBA-Auth-Key", "XXXXX");
      return request.close();
    }).then((HttpClientResponse response) {
      response.transform(utf8.decoder).listen((contents) {
       // print(contents);
      });
    });
    myhttp.get('www.thebluealliance.com', 80, '/api/v3/teams/0/simple') 
    .then((HttpClientRequest request){
      request.headers.set("accept", "application/json");
      request.headers.set("X-TBA-Auth-Key", "XXXX");
    return request.close();
    })
      .then((HttpClientResponse response) {

      response.transform(utf8.decoder).listen((content) {
        //buffer.writeAll(content.toString());
        print(content);

        });

    });
  }
}

修正:问题出现在HttpClientResonse的转换中。正确代码:

class TBAState extends State<TBAData>{

  HttpClient myhttp = new HttpClient();
  List<dynamic> data;
  List cellTitle;
  List<Team> teamData;

  Future getSWData() async {


    myhttp.get('www.thebluealliance.com', 80, '/api/v3/status').then((HttpClientRequest request) {
      request.headers.set("accept", "application/json");
      request.headers.set("X-TBA-Auth-Key", "XXXX");
      return request.close();
    }).then((HttpClientResponse response) {
      response.transform(utf8.decoder).listen((contents) {
       //print(contents);
      });
    });
    myhttp.get('www.thebluealliance.com', 80, '/api/v3/teams/0/simple') 
    .then((HttpClientRequest request) {
      request.headers.set("accept", "application/json");
      request.headers.set("X-TBA-Auth-Key", "XXXX");
    return request.close();
    })
      .then((HttpClientResponse response) {
       response.transform(utf8.decoder).transform(json.decoder).listen((data) {
        print(data.toString());
        setState(() {
        TeamList myTeamsL = new TeamList.fromJson(data);
        teamData = myTeamsL.teams;
                });

      });

    });
  }
}
类TBAState扩展状态{
HttpClient myhttp=新的HttpClient();
列出数据;
列表标题;
列出团队数据;
Future getSWData()异步{
myhttp.get('www.thebluealliance.com',80',/api/v3/status')。然后((HttpClientRequest){
set(“接受”、“应用程序/json”);
request.headers.set(“X-TBA-Auth-Key”、“XXXX”);
返回请求。close();
}).然后((HttpClientResponse响应){
response.transform(utf8.decoder).listen((内容){
//印刷(内容);
});
});
myhttp.get('www.thebluealliance.com',80',/api/v3/teams/0/simple'))
.然后((HttpClientRequest请求){
set(“接受”、“应用程序/json”);
request.headers.set(“X-TBA-Auth-Key”、“XXXX”);
返回请求。close();
})
.然后((HttpClientResponse响应){
transform(utf8.decoder).transform(json.decoder).listen((数据){
打印(data.toString());
设置状态(){
TeamlistMyTeamsl=新的TeamList.fromJson(数据);
teamData=myTeamsL.teams;
});
});
});
}
}

如果使用postman之类的HTTP工具进行检查,会得到相同的结果吗?@JacobPhillips我以前从未使用过postman,但我不是API的所有者,不确定这是否会产生影响。令人沮丧的问题,因为它会在随机位置截断一个节。@Jacob Phillips Update,使用Postman进行测试并返回正确的JSON,因此Dart中的某些东西而不是API工作正常。仍然卡住。日志输出经常被截断。而是调查调试器中的响应。@GünterZöchbauer抱歉,我不明白。你能说得更具体些吗?
class TBAState extends State<TBAData>{

  HttpClient myhttp = new HttpClient();
  List<dynamic> data;
  List cellTitle;
  List<Team> teamData;

  Future getSWData() async {


    myhttp.get('www.thebluealliance.com', 80, '/api/v3/status').then((HttpClientRequest request) {
      request.headers.set("accept", "application/json");
      request.headers.set("X-TBA-Auth-Key", "XXXX");
      return request.close();
    }).then((HttpClientResponse response) {
      response.transform(utf8.decoder).listen((contents) {
       //print(contents);
      });
    });
    myhttp.get('www.thebluealliance.com', 80, '/api/v3/teams/0/simple') 
    .then((HttpClientRequest request) {
      request.headers.set("accept", "application/json");
      request.headers.set("X-TBA-Auth-Key", "XXXX");
    return request.close();
    })
      .then((HttpClientResponse response) {
       response.transform(utf8.decoder).transform(json.decoder).listen((data) {
        print(data.toString());
        setState(() {
        TeamList myTeamsL = new TeamList.fromJson(data);
        teamData = myTeamsL.teams;
                });

      });

    });
  }
}