对于 InputStream 类型,方法 readAllBytes() 未定义

时间:2021-05-03 21:48:32

标签: java inputstream

我无法摆脱方法 readAllBytes() 对于类型 InputStream 错误未定义。 我认为这是由于我使用的版本造成的? JDK 合规性 1.8 请指教谢谢。

if (http.getResponseCode() == 200) {                    
            ObjectMapper mapper = new ObjectMapper();           
            try (InputStream inputStream = http.getInputStream()) {
                String jsonContent = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
                JsonNode node = mapper.readTree(jsonContent);
                String Stytch_user_id = node.get("user_id").textValue();
                Object[] objects = getUserLogin(Stytch_user_id, "P0002","123456789");
            }       
        } else { 
            System.out.println("failed");
        }

1 个答案:

答案 0 :(得分:3)

使用 readTree(Reader r) 重载方法让 Jackson 为您读取流:

JsonNode node;
try (Reader in = new InputStreamReader(http.getInputStream(), StandardCharsets.UTF_8)) {
    ObjectMapper mapper = new ObjectMapper();
    node = mapper.readTree(in);
}

String Stytch_user_id = node.get("user_id").textValue();
Object[] objects = getUserLogin(Stytch_user_id, "P0002","123456789");