Jave HttpClient - JSON 内容未解析 -

问题描述

我正在努力找出 Gson。我有 GET 请求连接,我得到 200,但 JSON 正文似乎是空的 - 当我可以从其他地方时很好,我确实在内容中看到了 JSON。

Partners 只是一个用来匹配 Partner 对象的 Strings 类,其中 PartnersArray 只是一个 ArrayList 来匹配 JSON 结构。

public HttpResponse<String> getRequest(String url) throws IOException,InterruptedException{
        
        HttpRequest request = (HttpRequest) HttpRequest.newBuilder().
                uri(URI.create(url)).
                header("accept","application/json").
                build();
        System.out.println("Request Header : " + request.headers());
        
        HttpResponse<String> response = httpClient.send(request,HttpResponse.BodyHandlers.ofString());
        
        PartnersArray partners = new Gson().fromJson(response.body(),PartnersArray.class);
        
        if (response.statusCode() == 200)
        {
            System.out.println("HttpStatus Good");
            System.out.println(partners.toString());
        }
        
        return response;
        
    }

解决方法

通常在 json 结构与类结构不匹配时会发生这种情况。也许您可以在此处添加您在响应中获得的 json 以及 PartnersArray 和 Partner 类。