fastjson2
fastjson2 copied to clipboard
[BUG]2.0.54版本,使用parseObject(String text, Class<T> clazz)方法导致OOM
问题描述
parseObject生成大量值为null的对象,导致内存突然之间飚高,最终OOM
环境信息
请填写以下信息:
- OS信息: [e.g.:CentOS 8.4.2105 4Core 3.10GHz 16 GB]
- JDK信息: [e.g.:Openjdk 21.xxx]
- 版本信息:[e.g.:Fastjson2 2.0.54]
重现步骤
如何操作可以重现该问题: 执行如下代码可以复现
@Getter
@Setter
public class User {
private List<School> schools;
public static void main(String[] args) throws JsonProcessingException {
User entity = JSON.parseObject("{\"schools\":[{nu}]}", User.class, JSONReader.Feature.IgnoreNullPropertyValue);
System.out.println(entity);
}
@Getter
@Setter
static class School {
private String name;
}
}
期待的正确结果
不OOM
相关日志输出
请复制并粘贴任何相关的日志输出。
附加信息
JSON 字符串有语法问题啊
JSON 字符串有语法问题啊
你试下这个,不会报不合法的异常
欧克确实,我去修一下
欧克确实,我去修一下 有规避方法嘛
可以暂时在程序启动时使用:-Dfastjson2.creator=reflect,会抛出 JSONValidException
可以暂时在程序启动时使用:-Dfastjson2.creator=reflect,会抛出 JSONValidException
好的 多谢,我试试