[BUG]从2.0.61版本开始,使用JSONB类的toBytes方法报错
- Dominant language
- Java
- Stars
- 4.4k
- Forks
- 613
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 6
Description
### 问题描述
*从2.0.61版本开始,使用JSONB类的toBytes方法报错*
### 环境信息
*请填写以下信息:*
- OS信息: windows 10
- JDK信息: JDK 1.8 & JDK17
- 版本信息:Fastjson2 2.0.61--Fastjson2 2.0.64
### 重现步骤
*如何操作可以重现该问题:*
1. 使用该方法报错:
```java
import com.alibaba.fastjson2.JSONB;
import com.alibaba.fastjson2.JSONReader;
import com.alibaba.fastjson2.JSONWriter;
byte[] bytes = JSONB.toBytes(t, JSONWriter.Feature.WriteClassName);
```
### 期待的正确结果
*对您期望发生的结果进行清晰简洁的描述。*
### 相关日志输出
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1b889b4b]
[2026-08-24 22:03:19.371]-[ console]-[ 40.10.10.6]-[ console_super]-[non_tenant]-[ERROR]-[11f19fc48ef25a98b2154d68a3fa08d6]-[ http-nio-8095-exec-10]-[.infrastructure.log.service.imp.ExceptionStackLogServiceImpl]-[03:19] ==> console_super: Could not serialize: null; nested exception is java.lang.NullPointerException
org.springframework.data.redis.serializer.SerializationException: Could not serialize: null; nested exception is java.lang.NullPointerException
at com.yuanian.infrastructure.cache.service.EpochFastJson2WithZipRedisSerializer.serialize(EpochFastJson2WithZipRedisSerializer.java:42) ~[com.yuanian.infrastructure.cache-hotfix-ECS2.2.20250630.01-SNAPSHOT.jar:?]
at org.springframework.data.redis.serializer.DefaultRedisElementWriter.write(DefaultRedisElementWriter.java:44) ~[spring-data-redis-2.7.12.jar:2.7.12]
at org.springframework.data.redis.serializer.RedisSerializationContext$SerializationPair.write(RedisSerializationContext.java:287) ~[spring-data-redis-2.7.12.jar:2.7.12]
at org.springframework.data.redis.cache.RedisCache.serializeCacheValue(RedisCache.java:282) ~[spring-data-redis-2.7.12.jar:2.7.12]
at org.springframework.data.redis.cache.RedisCache.put(RedisCache.java:168) ~[spring-data-redis-2.7.12.jar:2.7.12]
at org.springframework.cache.interceptor.AbstractCacheInvoker.doPut(AbstractCacheInvoker.java:87) ~[spring-context-5.3.27.jar:5.3.27]
at org.springframework.cache.interceptor.CacheAspectSupport$CachePutRequest.apply(CacheAspectSupport.java:837) ~[spring-context-5.3.27.jar:5.3.27]
at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:430) ~[spring-context-5.3.27.jar:5.3.27]
at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.27.jar:5.3.27]
at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.27.jar:5.3.27]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.27.jar:5.3.27]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.27.jar:5.3.27]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) ~[spring-aop-5.3.27.jar:5.3.27]
at com.yuanian.console.service.imp.EnterpriseInfoServiceImpl$$EnhancerBySpringCGLIB$$6516b938.getEnterpriseInfo() ~[ecs-console-core-imp-hotfix-ECS2.2.20250630.01-20260824.130133-20.jar:?]
at com.yuanian.console.controller.EnterpriseInfoController.getEnterpriseInfo(EnterpriseInfoController.java:52) ~[ecs-console-core-imp-hotfix-ECS2.2.20250630.01-20260824.130133-20.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.27.jar:5.3.27]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.27.jar:5.3.27]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.27.jar:5.3.27]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.27.jar:5.3.27]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072) ~[spring-webmvc-5.3.27.jar:5.3.27]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) ~[spring-webmvc-5.3.27.jar:5.3.27]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.27.jar:5.3.27]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.27.jar:5.3.27]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:665) ~[javax.servlet-api-4.0.1.jar:4.0.1]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.27.jar:5.3.27]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750) ~[javax.servlet-api-4.0.1.jar:4.0.1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at com.yuanian.common.config.SwaggerFilter.doFilter(SwaggerFilter.java:87) ~[ecs-common-hotfix-ECS2.2.20250630.01-20260824.125949-23.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114) ~[druid-1.2.11.jar:1.2.11]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at com.yuanian.auth.service.filter.XSSSecurityFilter.doFilterInternal(XSSSecurityFilter.java:50) ~[ecs-auth-core-imp-hotfix-ECS2.2.20250630.01-20260824.125946-23.jar:?]
at com.yuanian.auth.service.filter.AbstractGenericFilter.doFilter(AbstractGenericFilter.java:177) ~[ecs-auth-core-imp-hotfix-ECS2.2.20250630.01-20260824.125946-23.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at com.yuanian.intserv.filter.ApiAuditFilter.doFilter(ApiAuditFilter.java:75) ~[ecs-intserv-core-imp-hotfix-ECS2.2.20250630.01-20260824.130703-20.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at com.yuanian.auth.service.filter.LoginAuthFilter.doFilterInternal(LoginAuthFilter.java:95) ~[ecs-auth-core-imp-hotfix-ECS2.2.20250630.01-20260824.125946-23.jar:?]
at com.yuanian.auth.service.filter.AbstractGenericFilter.doFilter(AbstractGenericFilter.java:177) ~[ecs-auth-core-imp-hotfix-ECS2.2.20250630.01-20260824.125946-23.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at com.yuanian.auth.service.filter.CommonFilter.doFilterInternal(CommonFilter.java:146) ~[ecs-auth-core-imp-hotfix-ECS2.2.20250630.01-20260824.125946-23.jar:?]
at com.yuanian.auth.service.filter.AbstractGenericFilter.doFilter(AbstractGenericFilter.java:177) ~[ecs-auth-core-imp-hotfix-ECS2.2.20250630.01-20260824.125946-23.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.27.jar:5.3.27]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96) ~[spring-boot-actuator-2.7.12.jar:2.7.12]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.27.jar:5.3.27]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.27.jar:5.3.27]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.27.jar:5.3.27]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.75.jar:9.0.75]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.NullPointerException
at com.alibaba.fastjson2.JSONB$IO.writeEnum(JSONB.java:2196) ~[fastjson2-2.0.61.jar:?]
at com.alibaba.fastjson2.writer.OWG_4_5_ResultValue.writeJSONB(Unknown Source) ~[?:?]
at com.alibaba.fastjson2.JSONB.toBytes(JSONB.java:1836) ~[fastjson2-2.0.61.jar:?]
at com.yuanian.infrastructure.cache.service.EpochFastJson2WithZipRedisSerializer.serialize(EpochFastJson2WithZipRedisSerializer.java:39) ~[com.yuanian.infrastructure.cache-hotfix-ECS2.2.20250630.01-SNAPSHOT.jar:?]
... 85 more
[2026-08-24 22:03:19.382]-[ console]-[ 40.10.10.6]-[ console_super]-[non_tenant]-[DEBUG]-[11f19fc48f00b27bb215bb79bbf2cff4]-[ http-nio-8095-exec-1]-[ngframework.beans.factory.support.DefaultListableBeanFactory]-[03:19] ==> console_super: Creating shared instance of singleton bean 'com.yuanian.console.service.trigger.ConsoleAppTrigger'
Creating a new SqlSession
Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65a695d1]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6e46953d] was not registered for synchronization because synchronization is not active
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@4176791e] will be managed by Spring
==> Preparing: insert into TP_LOG_EXCEPTION_STACK (TRACE_ID,UPDATE_DATE,UPDATE_LOGIN,FUNCTION_NAME,MODULE_NAME,P_APP_ID,USER_NAME,SERVICE_NAME,VERSION_NUMBER,ERROR_MSG,P_DELETED,CREATE_BY,LOG_LEVEL,CLIENT_KEY,UPDATE_BY,TENANT_ID,ERROR_STACK,CLAZZ,OBJECT_ID,CREATE_DATE) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@154eb02d] will not be managed by Spring
==> Preparing: select MD_consoleApp.APP_CODE as "appCode",MD_consoleApp.APP_NAME as "appName",MD_consoleApp.APP_TYPE as "appType",MD_consoleApp.DISABLED as "disabled",MD_consoleApp.GROUP_ID as "groupId",MD_consoleApp.GROUPED as "grouped",MD_consoleApp.ICON as "icon",MD_consoleApp.ICON_COLOR as "iconColor",MD_consoleApp.LINK as "link",MD_consoleApp.NEW_WINDOW as "newWindow",MD_consoleApp.OPEN_MODE as "openMode",MD_consoleApp.PRIORITY as "priority",MD_consoleApp.SERVICE_NAME as "serviceName",MD_consoleApp.OBJECT_ID as "objectId" from TP_CONSOLE_APP MD_consoleApp where 1=1 and MD_consoleApp.GROUPED =? and MD_consoleApp.DISABLED =? and MD_consoleApp.OBJECT_ID =? and MD_consoleApp.P_DELETED =? and ( EXISTS (SELECT 1 FROM TP_CONSOLE_USER_ROLE UR, TP_AUTH_ROLE_APP_MENU RA WHERE UR.USER_ID = 'd4e688ab67cb11e89a3ce9a8d592ce6c' AND UR.ROLE_ID = RA.ROLE_ID AND RA.APP_ID = MD_consoleApp.OBJECT_ID)) order by MD_consoleApp.PRIORITY
==> Parameters: FALSE(String), FALSE(String), 5fa74ca2287b11eb845085c9e0625adb(String), FALSE(String)
==> Parameters: 11f19fc48ef25a98b2154d68a3fa08d6(String), 2026-08-24T22:03:19(LocalDateTime), console_super(String), 未知(String), 其他(String), 5fa74ca2287b11eb845085c9e0625adb(String), console_super(console_super)(String), console(String), 1(Integer), Could not serialize: null; nested exception is java.lang.NullPointerException(String), FALSE(String), d4e688ab67cb11e89a3ce9a8d592ce6c(String), ERROR(String), 11f19fa4159e6115b6e4f5c8770729ed(String), d4e688ab67cb11e89a3ce9a8d592ce6c(String), system(String), java.lang.NullPointerException
com.alibaba.fastjson2.JSONB$IO.writeEnum(JSONB.java:2196)
com.alibaba.fastjson2.writer.OWG_4_5_ResultValue.writeJSONB(Unknown Source)
com.alibaba.fastjson2.JSONB.toBytes(JSONB.java:1836)
com.yuanian.infrastructure.cache.service.EpochFastJson2WithZipRedisSerializer.serialize(EpochFastJson2WithZipRedisSerializer.java:39)
org.springframework.data.redis.serializer.DefaultRedisElementWriter.write(DefaultRedisElementWriter.java:44)
org.springframework.data.redis.serializer.RedisSerializationContext$SerializationPair.write(RedisSerializationContext.java:287)
org.springframework.data.redis.cache.RedisCache.serializeCacheValue(RedisCache.java:282)
org.springframework.data.redis.cache.RedisCache.put(RedisCache.java:168)
org.springframework.cache.interceptor.AbstractCacheInvoker.doPut(AbstractCacheInvoker.java:87)
org.springframework.cache.interceptor.CacheAspectSupport$CachePutRequest.apply(CacheAspectSupport.java:837)
org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:430)
org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345)
org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
com.yuanian.console.service.imp.EnterpriseInfoServiceImpl$$EnhancerBySpringCGLIB$$6516b938.getEnterpriseInfo()
com.yuanian.console.controller.EnterpriseInfoController.getEnterpriseInfo(EnterpriseInfoController.java:52)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
(String), org.springframework.data.redis.serializer.SerializationException(String), 11f19fc48f6c6ca3b2152d86c169a510(String), 2026-08-24T22:03:19(LocalDateTime)
<== Updates: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65a695d1]
Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65a695d1]
Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65a695d1]
Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65a695d1]
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6e46953d]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5c1f28b0] was not registered for synchronization because synchronization is not active
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@4176791e] will not be managed by Spring
==> Preparing: select TEXT_KEY, LANGUAGE_CODE, TEXT_VALUE from TP_I18N_STATIC where TEXT_KEY = ? and LANGUAGE_CODE = ? AND P_DELETED='FALSE'
==> Parameters: CommonI18Enum.SYSTEM_EXCEPTION(String), zh_CN(String)
<== Total: 0
#### 附加信息
*无*
Contributor guide
Research direction
Start at the JSONB.toBytes(t, JSONWriter.Feature.WriteClassName) entry point and reproduce the failure with a minimal Java object across Fastjson2 versions 2.0.61 through 2.0.64. Compare the complete exception and serialized result with the prior behavior; done means the call completes without the reported NullPointerException and produces valid bytes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 40/100