Java Jackson使用不正确的json字符串

时间:2017-06-20 11:01:15

标签: java json parsing jackson

我试图将FeignException中的以下错误解析为Json

status 412 reading SampleClient#updateUuid(Long,UpdateRequest); content:\n{\"timestamp\":\"2017-06-20T10:46:54.306+0000\",\"status\":412,\"message\":\"Invalid Id\",\"path\":\"/client/12344/updateUuid\",\"error\":true}",

但是收到以下错误

  

ERROR   org.apache.catalina.core.ContainerBase。[Tomcat的]。[本地主机]。[/]。[DispatcherServlet的]   Servlet dispatcherServlet的Servlet.service()引发了异常   com.fasterxml.jackson.core.JsonParseException:无法识别的令牌   '状态':期待(' true',' false'或' null')在[来源:   状态412读取SampleClient#updateUuid(Long,UpdateRequest);   内容:   {"时间戳":" 2017-06-20T10:55:14.380 + 0000""状态":412,"消息":& #34;无效   ID""路径":" /客户端/ 12344 / updateUuid""错误":真};行:1,列:   7]

我希望得到"消息":"无效的ID"节点。

有人可以帮忙。

先谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

你没有发送解析器格式良好的json。你正在发送

status 412 reading SampleClient#updateUuid(Long,UpdateRequest); content:\n{\"timestamp\":\"2017-06-20T10:46:54.306+0000\",\"status\":412,\"message\":\"Invalid Id\",\"path\":\"/client/12344/updateUuid\",\"error\":true}",

何时发送

{"timestamp":"2017-06-20T10:46:54.306+0000","status":412,"message":"Invalid Id","path":"/client/12344/updateUuid","error":true}"

修剪第一行(\ n是行分隔符)和最后一个逗号,它应该解析,但我不知道为什么你会在第一时间这样做。请发布您的代码,以便我们更好地评论您的用例。