完整的异常信息如下:

 

12:00:50.310 [http-nio-8080-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
com.fasterxml.jackson.core.JsonParseException: Unexpected character (' ' (code 160)): was expecting double-quote to start field name
 at [Source: (String)"{
    "action": "dom",
    "dom": "P1D",
    "pageSize": 100,
    "page": 0
}"; line: 2, column: 2]

上面的错误提示为输入的 JSON 数据不正确,没有办法处理。

问题和解决

这个问题困惑了我们很久。

原因后来发现在输入的 JSON 格式,不知道什么原因使用了双引号。

我们使用的是 POSTMAN 发送的数据。

后来,我们修改了数据使用的格式为 JSON 格式。

然后再将数据发送到后台就没有这个问题了。

这个问题的原因我们认为是 HTTP 请求的格式定义导致了后台的 Spring 处理逻辑没有办法处理输入的字符串,在进行 JSON 格式数据转换的时候出错了。

Java POST JSON 数据处理异常 (code 160)): was expecting double-quote to start field name - Java - OSSEZ

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐