在使用Fastjson中的 JSON.toJSONString时,如果对象数据太大(>64M)会出现Out Of Memory,查看源码发现为JSONWriter中的判断代码
其中maxArraySize默认最大为64M,如果超过了就会抛出oom错误
如果fastjson过多的使用内存,也可能导致java堆内存溢出,所以这里建议控制好json对象大小,避免过多过大对象做json操作。
使默认的JSON操作支持到大对象(LargeObject 1G)
也可以使默认的JSON操作支持到大对象(1G),只需要配置好默认上下文对象(context.features)使用方法:
JSON.config(LargeObject, true);
加入到静态代码块或者程序入口,初始化函数等。但是这里要注意如果fastjson过多的使用内存,也可能导致java堆内存溢出。