使用 Spring Boot 应用程序,我发布了带有 10000个嵌套元素的JSON,例如下面的元素,并得到了java.lang.StackOverflowError
。
{
"__id": "1",
"__category":{
"key1": {
"key2": {
"key3": {
...
...
"key10000": "value"
...
...
}
}
}
}
}
有什么办法可以使此错误更易于管理?
我的意思是,我不想避免此错误,但是可以执行类似自定义反序列化程序的操作来设置允许的嵌套值,并在超出该值时抛出一些异常。
答案 0 :(得分:0)
您可以尝试使用Jackson Streaming API而不是立即对整个序列进行反序列化。在处理大型JSON对象或数组时,这是推荐的方法。
这使您可以分别反序列化和处理组件,而无需整个JSON对象存在于内存中。