2017-06-20 58 views
0

我试图解析从FeignException以下错误作为JSON的Java杰克逊解析不当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]。[localhost]。[/]。[dispatcherServlet] Servlet.service()for servlet dispatcherServlet抛出异常 com.fasterxml.jackson.core.JsonParseException:无法识别的令牌 'status':was Ë xpecting('true','false'或'null')at [Source: status 412 reading SampleClient#updateUuid(Long,UpdateRequest); content: {“timestamp”:“2017-06-20T10:55:14.380 + 0000”,“status”:412,“message”:“无效 Id”,“path”:“/ client/12344/updateUuid ”, “错误”:真正};行:1,列: 7]

我期待着实际得到“消息”:“无效的Id”节点。

有人可以帮忙。

在此先感谢您的时间。

+0

你应该发布你的java代码,它正在阅读json以及你试图将json转换为 – JSantos

+0

的任何类。看起来杰克逊类想要生成的属性状态不是整数。 – Martin

回答

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为行分隔符)和最后一个逗号,它应该解析,但我想知道,你为什么会首先要做到这一点。请发布您的代码,以便我们可以更好地评论您的使用案例。