Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann

使用POST请求@RequestBody传参,出错,这个错简单解释:不能反序列化类型为' java.lang. value '的值。Long ' from对象值

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann_第1张图片

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann_第2张图片

 我们把 Long改成Objec,看一下到底传的什么过来

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann_第3张图片

 我们得到是{id=2},其实我们只需要2,

解决办法:

办法1写一个request,专门来接收(建议用这个办法)

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann_第4张图片

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann_第5张图片 

 

测试结果

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann_第6张图片 

解决办法2

把object类型重新转换为JSON,再去获取元素

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann_第7张图片

 解决办法3

 这个本身就是JSON,我们直接用JSONObject来接收

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cann_第8张图片

后面两个办法只是给大家一个思路,不要这么干,不符合开发规范 

你可能感兴趣的:(bug,json,java,servlet)