fastjson icon indicating copy to clipboard operation
fastjson copied to clipboard

JSONObject.parseObject 解析字符串时,遇到 [null] 时堆内存溢出

Open liushuangSRD opened this issue 1 year ago • 1 comments

属性类: ` public class Field {

private String id;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

} `

转换测试类

` public class Test {

class HeapSpace{

    private List<Field> reportOwner;

    public List<Field> getReportOwner() {
        return reportOwner;
    }

    public void setReportOwner(List<Field> reportOwner) {
        this.reportOwner = reportOwner;
    }

}

public static void main(String[] args) {
    String parseString = "{\"reportOwner\":[null]}";
    HeapSpace heapSpace = JSONObject.parseObject(parseString, HeapSpace.class);
    String aa = "";
}

} `

执行后内存一直飙升,直到堆内存溢出,生产环境报错 Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space

liushuangSRD avatar Jul 10 '24 07:07 liushuangSRD

HeapSpace作为一个内部类,如果没有static,无法访问。 加上static后,解析正常。

kimmking avatar Jul 27 '24 17:07 kimmking