首页 > 解决方案 > 如何在java中存储来自API调用的变量

问题描述

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() 之类的东西有关吗?

提前致谢!

标签: javahttpclient

解决方案


而不是打印响应,您应该将其解析为 JSON 并将此值存储在变量中: https ://stackoverflow.com/a/22624801/5790043 您可以使用GsonJackson库。


推荐阅读