[英]How to check if JSON respone returns [ ] or response with body using Java?
我有一個 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 條件”中,例如:
if (string != null || !string.equals("[]")) {
// your code
}
但這不是通用方法,因此您的代碼與所有類型的答案都不兼容。
您是否嘗試過檢查 json 對象長度是否為零?
例如。
if(ent.length == 0){
//Do thing
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.