报错解决:【HttpMessageNotReadableException: JSON parse error: Invalid UTF-8 start byte 0xa0】

博主在迭代开发中遇到POST请求接收JSON数据转换为POJO时的HttpMessageNotReadableException,错误源于JSON解析异常。通过检查发现是JSON字符串中存在不匹配的字符,尤其是中文空格导致的问题。在Postman测试时同样出现500系统异常。调整JSON格式后,问题得到解决,测试成功。关键在于仔细检查并修正JSON数据的准确性。

这两天,迭代开发一个简单小需求,POST 请求接收前端的传参,将接收到的 JSON 格式再转换成对应的 POJO,但是在程序接收请求过程中却报了如下异常:

org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Invalid UTF-8 start byte 0xa0; nested exception is com.fasterxml.jackson.core.JsonParseException: Invalid UTF-8 start byte 0xa0 at [Source: java.io.PushbackInputStream@664c6a7d; line: 1, column: 61]

并且由于前端代码还没有上测试环境,因为是使用 Postman 进行测试,在 Postman 中也出现了 500 系统异常的报错。

在这里插入图片描述

在网上苦苦查询了许久,尝试了设置请求响应头 Content-Type 属性,并没有行通,仍然报错;

之后也仔细检查了是否在代码上出现了问题,检查了 @RequestBody 注释来接收 JSON 格式数据并转换成对应 POJO,字段属性也都对上无误;

最后在一些博客中发现也有可能是 JSON 数据中出现中文空格的原因,从中得到了启发。

之后检查了一下,利用 Postman 工具将光标选中相同格式的 JSON 字符串,会一起显示光标,发现雀食有个别字符并没有完全对应起来。

  • 检查对应的样例

在这里插入图片描述

  • 没有完全对应

在这里插入图片描述

  • 修改之后

在这里插入图片描述

测试,Success

其实从报错的信息中也可以看出报的是 JSON 解析错误的问题,大致意思为开始是无效的中文字节。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值