2017-06-20 86 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爲行分隔符)和最後一個逗號,它應該解析,但我想知道,你爲什麼會首先要做到這一點。請發佈您的代碼,以便我們可以更好地評論您的使用案例。