Java POST JSON 数据处理异常 (code 160)
2022-01-29 本文已影响0人
HoneyMoose
完整的异常信息如下:
12:00:50.310[http-nio-8080-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet]-Servlet.service()forservlet [dispatcherServlet]incontextwithpath [] threw exceptioncom.fasterxml.jackson.core.JsonParseException: Unexpectedcharacter(' '(code160)): was expectingdouble-quotetostartfield nameat[Source: (String)"{ "action": "dom", "dom": "P1D", "pageSize": 100, "page": 0}"; line:2,column:2]
上面的错误提示为输入的 JSON 数据不正确,没有办法处理。
这个问题困惑了我们很久。
原因后来发现在输入的 JSON 格式,不知道什么原因使用了双引号。
![](https://img.haomeiwen.com/i11221089/8f16bb612b9045e7.png)
我们使用的是 POSTMAN 发送的数据。
后来,我们修改了数据使用的格式为 JSON 格式。
![](https://img.haomeiwen.com/i11221089/161fc3157dfe2839.png)
然后再将数据发送到后台就没有这个问题了。
这个问题的原因我们认为是 HTTP 请求的格式定义导致了后台的 Spring 处理逻辑没有办法处理输入的字符串,在进行 JSON 格式数据转换的时候出错了。
https://www.ossez.com/t/java-post-json-code-160-was-expecting-double-quote-to-start-field-name/13863