Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java检查JSON respone是否返回[]或带有主体的响应?_Java_Json_Api_Get_Httpresponse - Fatal编程技术网

如何使用Java检查JSON respone是否返回[]或带有主体的响应?

如何使用Java检查JSON respone是否返回[]或带有主体的响应?,java,json,api,get,httpresponse,Java,Json,Api,Get,Httpresponse,我有一个API,针对不同的事件ID多次命中。 很少有人有日期,很少有人没有。 我得到这个错误: 块编码消息正文过早结束:应关闭块 这是我的密码: CloseableHttpClient client = HttpClients.createDefault(); HttpGet request = new HttpGet("my API URL"); System.out.println("request:"+request.getURI()); String list = request.ge

我有一个API,针对不同的事件ID多次命中。
很少有人有日期,很少有人没有。 我得到这个错误:

块编码消息正文过早结束:应关闭块

这是我的密码:

CloseableHttpClient client = HttpClients.createDefault();
HttpGet request = new HttpGet("my API URL");

System.out.println("request:"+request.getURI());
String list = request.getURI().toString();

request.addHeader("Authorization",bearerToken); // Adding the bearer token
request.addHeader("Content-Type", "application/json");

CloseableHttpResponse response = client.execute(request);

//try
//{
    System.out.println(response.getStatusLine());
    System.out.println(response.getEntity().getContentLength());

    HttpEntity ent = response.getEntity();

    if(ent!=null)
    {
        //InputStream in = new PushbackInputStream(ent.getContent());
        //in = new ByteArrayInputStream(EntityUtils.toByteArray(ent));
        EntityUtils.consume(ent);
        System.out.println(response.getEntity());
        //in.close();
    }
谁能告诉我哪里出了问题,或者我们该怎么做

如果我的响应没有数据,我只需打印它们,然后转到下一个事件ID并进行检查。

我的一些API只返回[]。Java也是非常新的。

当您使用json库时,它们通常有一些方法来检查json对象是否为空。 您可以在代码中使用它们,例如在JSONObject中,我们有一个isEmpty()方法,它返回一个布尔值,这正是您所需要的

此外,如果您的问题只是答案中的一个条件,请在检查不为空后将其放入“如果条件”,例如:

if (string != null || !string.equals("[]")) {
    // your code 
}

但这并不是一种通用的方法,因此您的代码不能和所有类型的答案兼容。

当您使用json库时,它们通常有一些方法来检查json对象是否为空。 您可以在代码中使用它们,例如在JSONObject中,我们有一个isEmpty()方法,它返回一个布尔值,这正是您所需要的

此外,如果您的问题只是答案中的一个条件,请在检查不为空后将其放入“如果条件”,例如:

if (string != null || !string.equals("[]")) {
    // your code 
}

但这并不是一种通用的方法,因此您的代码不能与所有类型的答案兼容。

您是否尝试过检查json对象长度是否为零

例如


您是否尝试过检查json对象长度是否为零

例如


是的,我也试过这个。我仍然没有得到打印的回复。是的,我也尝试过这个。我仍然没有得到打印的答复。