杰克逊可以处理JSON文件的大小是否有限制? 我的JSON可能很大。简单的例子:
{
"people": [
{
"Name": "John Smith",
"number": "123-456-789"
},
{MILIONS OF OTHER PEOPLES}
],
"cars": [MILIONS OF CARS],
"dogs": [MILIONS OF DOGS],
MORE HERE
}
可以是5GB或更多。我必须使用Jackson创建它并通过网络发送到另一个系统。记忆不是问题,但杰克逊呢?可以没有任何问题地写/读它吗?
编辑:我不认为这是重复的。我不是在问如何解析巨大的Json文件,但是Json / Jackson的限制是什么(如果有的话)
答案 0 :(得分:3)
杰克逊的ObjectMapper
有许多方法可以阅读JSON。
如果您使用的是byte[]
或String
,那么您显然会被这些类型的隐含限制所限制。
如果你使用的是File
,InputStream
或Reader
,那么根据它们的基础实现,你可以流式传输整个内容而不会保留整个内容在给定时刻内存中的文件。
但是,ObjectMapper
必须构造整个对象树,然后再将其返回给调用者。它需要任何数量的内存
在该树中构建对象。
杰克逊本身没有施加任何限制。