You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MismatchedInputException异常求助:Java HTTP请求JSON解析失败

解决Jackson解析时的“No content to map due to end-of-input”异常

这个异常本质是Jackson尝试解析JSON时,发现输入流已经到了末尾,没有可解析的内容。下面是具体排查和解决方法:

1. 先确认服务器是否返回有效JSON

发送请求后,先检查HTTP响应状态码,如果是4xx(客户端错误)或5xx(服务器错误),服务器大概率不会返回预期的JSON,甚至返回空响应。可以先把响应体打印出来验证:

// 发送请求后,先读取响应体并打印
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder responseBody = new StringBuilder();
while ((line = reader.readLine()) != null) {
    responseBody.append(line);
}
reader.close();
System.out.println("服务器返回内容:" + responseBody.toString());

如果输出为空,说明服务器没返回数据,需要检查请求参数、接口地址是否正确,或者联系后端确认接口逻辑。

2. 检查请求体的发送逻辑

如果是POST请求,确保请求体正确写入并刷新:

OutputStream outputStream = connection.getOutputStream();
outputStream.write(postData.getBytes(StandardCharsets.UTF_8));
outputStream.flush();
outputStream.close(); // 写完后关闭输出流,不影响读取响应

如果没调用flush(),可能请求体没完全发送到服务器,导致服务器返回空响应。

3. 不要重复读取响应流

Jackson的ObjectMapper.readValue(InputStream, Class)会一次性读完整个流,如果之前已经用BufferedReader读取过流(比如上面的打印操作),流的指针会停在末尾,再次解析就会报这个错。解决方法是把响应体保存为字符串,再用字符串解析:

String responseStr = responseBody.toString();
YourResponseBean responseBean = objectMapper.readValue(responseStr, YourResponseBean.class);

4. 处理空响应的边界情况

如果业务上服务器允许返回空响应,要先判断响应内容是否为空,再决定是否解析:

if (responseBody.length() == 0) {
    // 处理空响应,比如返回默认对象或抛出业务异常
} else {
    YourResponseBean responseBean = objectMapper.readValue(responseBody.toString(), YourResponseBean.class);
}

5. 确认Jackson依赖版本一致

Maven中要保证jackson-core、jackson-databind等依赖的版本统一,避免版本冲突导致解析异常:

<dependencies>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.15.2</version> <!-- 用稳定的最新版本,确保所有Jackson依赖版本相同 -->
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.15.2</version>
    </dependency>
</dependencies>

内容的提问来源于stack exchange,提问作者Ara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:06:19