如何在 java 中存储来自 API 调用的变量

How to store variable from API call in java

public void getToken(String userID) throws URISyntaxException, IOException {
    URIBuilder userBuild = new URIBuilder("https://api/token");
    HttpPost post = new HttpPost(userBuild.build());
    printPost(post);
}

public void printPost(HttpPost post) throws IOException {

        HttpResponse response = client.execute(post);

        BufferedReader rd = new BufferedReader(new InputStreamReader(
                response.getEntity().getContent()));
        String line;
        while ((line = rd.readLine()) != null) {
            System.out.println(line);
        }
}

所以,我想要实现的是,我想将“令牌”保存为一个变量。

例如,当我 运行 方法“getToken()”时,它打印如下: {"token": "1234567" } 在控制台上。

但是,我该如何保存那个“1234567”呢?它与getHeaders()之类的东西有关吗?

提前致谢!

您应该将其解析为 JSON 并将此值存储在变量中,而不是打印响应: 您可以为此使用 Gson or Jackson 个库。

您可能需要看看序列化和反序列化。在这种情况下,您想反序列化 JSON 输出并将其转换为 Java 对象。通过这种方式,您可以轻松访问有关您的回复的任何内容。

在 Java 中执行此操作的常用方法是使用 Jackson ObjectMapper。尝试将您的响应变成一个 Java 对象并获取您需要的值。