handleDefaultHandlerExceptionResolver:org.springframework.http.converter.httpMessageNotableException:json解析错误:意外字符

f87krz0w  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(598)

我收到以下错误信息

WARN 13712 --- [nio-8080-exec-9] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by handler execution: org.springframework.http.converter.HttpMessageNotReadableException: 
JSON parse error: Unexpected character (',' (code 44)): expected a value; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character (',' (code 44)): expected a value at [Source: java.io.PushbackInputStream@1db33478; line: 2, column: 16]

我使用的是这样的spring框架。

@GetMapping("/access")
public HashMap<String, Object> getAccess() {
    HashMap<String, Object> response = new HashMap<String, Object>();
    ArrayList<Access> list = new ArrayList<Access>();
    BdConector bd = BdConector.getInstance();
    list = bd.getAllAccess();

    if (list != null) {
        response.put("result", "200");
    } else {
        response.put("result", "500");
    }
    response.put("items", list);
    return response;
}

我想在发生解析器异常时记录json主体内容。

thtygnil

thtygnil1#

试试这个。。。

@ExceptionHandler(com.fasterxml.jackson.core.JsonParseException.class)
        public ResponseEntity<Object> handleException(com.fasterxml.jackson.core.JsonParseException ex) {
            LOG.error("Error parse json " +  ex.getMessage());
            ...
        }

不太清楚如何提取原始字符串,这是无效的json,可能是在异常的“getmessage()”,如我所示。无论如何,您可以调试“ex”文件并找到如何正确获取它。

相关问题