摘要 Jackson2Decoder 仅知晓 Jackson 的非阻塞解析器,该解析器仅支持 Flux 使用 UTF-8

作者: sfussenegger创建于 2026年8月24日更新于 2026年9月16日
标签status: waiting-for-triagein: web

org.springframework.core.codec.DecodingException: JSON decoding error: Invalid UTF-8 middle byte 0x6d at org.springframework.http.codec.json.AbstractJackson2Decoder.processException(AbstractJackson2Decoder.java:282) Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: Error has been observed at the following site(s): *__checkpoint ⇢ Body from UNKNOWN [DefaultClientResponse] Original Stack Trace: at org.springframework.http.codec.json.AbstractJackson2Decoder.processException(AbstractJackson2Decoder.java:282) at org.springframework.http.codec.json.AbstractJackson2Decoder.decode(AbstractJackson2Decoder.java:218) at org.springframework.http.codec.json.AbstractJackson2Decoder.lambda$decodeToMono$2(AbstractJackson2Decoder.java:198) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132) ... Caused by: com.fasterxml.jackson.core.JsonParseException: Invalid UTF-8 middle byte 0x6d at [Source: REDACTED ('StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION' disabled); line: 2, column: 21] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2596) at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2622) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:820) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidOther(UTF8StreamJsonParser.java:3679) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidOther(UTF8StreamJsonParser.java:3686) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._decodeUtf8_4(UTF8StreamJsonParser.java:3512) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishString2(UTF8StreamJsonParser.java:2580) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishString(UTF8StreamJsonParser.java:2489) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.getTextCharacters(UTF8StreamJsonParser.java:446) at com.fasterxml.jackson.databind.util.TokenBuffer._copyBufferValue(TokenBuffer.java:1277) at com.fasterxml.jackson.databind.util.TokenBuffer.copyCurrentStructure(TokenBuffer.java:1215) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:100) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:99) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:98) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:97) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:96) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:95) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:94) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:93) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:92) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:91) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:90) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:89) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:88) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:87) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:86) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:85) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:84) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:83) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:82) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:81) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:80) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:79) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:78) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:77) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:76) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:75) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:74) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:73) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:72) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:71) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:70) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:69) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:68) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:67) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:66) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:65) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:64) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:63) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:62) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:61) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:60) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:59) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:58) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:57) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:56) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:55) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:54) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:53) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:52) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:51) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:50) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:49) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:48) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:47) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:46) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:45) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:44) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:43) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:42) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:41) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:40) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:39) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:38) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:37) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:36) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:35) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:34) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:33) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:32) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:31) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:30) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:29) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:28) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:27) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:26) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:25) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:24) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:23) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:22) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:21) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:20) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:19) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:18) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:17) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:16) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:15) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:14) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:13) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:12) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:11) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:10) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:9) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:8) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:7) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:6) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:5) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:4) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:3) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:2) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNodeFactory$1$1.accept(JsonNodeFactory.java:1) at com.fasterxml.jackson.databind.JsonNode

内容来源: spring-projects/spring-framework