繁体   English   中英

有没有办法只读取Java中JSON文件的一部分?

[英]Is there a way to read only part of a JSON file in Java?

我在Windows 7上使用NetBeans 7.4。

当我尝试通过以下调用读取JSON文件时,

String jsonTxt = IOUtils.toString(new FileInputStream(inputFileName), "UTF-8");

我收到了OutOfMemoryError异常。 我检查发现文件已超过28 GB,因此可能无法立即将所有内容读入内存。

有没有一种方法可以只读取JSON文件的一部分,从而不会耗尽内存? 在IOUtils中似乎没有合适的方法。

您无法读取JSON文件的一部分。 JSON结构取决于其元素及其嵌套级别。

大多数JSON解析库都有一个输入方法,该方法将接受InputStream (或Reader )而不是String 您应该尝试那些。 请注意,如果您的映射对象结构太大,您仍然会遇到问题。

您应该考虑查看要存储的内容以及为什么要将其存储在JSON中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM