我有一个121MB的大型JSON文件。我想阅读它的结构和数据。我无法用Chrome的notepad ++和json编辑器插件阅读它。我试过用java读它。简单的json阅读也是例外:
线程“main”中的异常java.lang.OutOfMemoryError:GC开销 超出限额
如果我使用jackson流媒体API。如何完整阅读结构和数据?我不知道它的json结构键和值。我使用了这样的代码:
import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
public class JacksonStreamExample {
public static void main(String[] args) {
try {
JsonFactory jfactory = new JsonFactory();
/*** read from file ***/
JsonParser jParser = jfactory.createParser(new File(
"E:\\NUST\\Semester 3\\region_descriptions.json"));
while (jParser.nextToken() != JsonToken.END_OBJECT) {
System.out.println(jParser.getCurrentName());
jParser.nextToken();
System.out.println(jParser.getText());
}
jParser.close();
} catch (JsonGenerationException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
有没有办法用任何文本或JSON查看器阅读它?还是用java代码?如果是java代码,如何读取JSON结构?
答案 0 :(得分:2)
如果您只想预览文件中的常规结构和数据(而不必将整个文件加载到内存中),则可以使用Cluria(http://www.cluria.com)。如果您只想预览文件中的内容,它将允许非常快地加载非常大的JSON文件。
使用来自SQuAD的dev JSON文件的示例:https://rajpurkar.github.io/SQuAD-explorer/dataset/dev-v2.0.json
免责声明:我创建了Cluria。
答案 1 :(得分:1)
Notepad ++允许您一次打开一个大文件。
尝试关闭记事本++中已打开的所有文件并单独打开此(大)文件。
我遇到了同样的问题,我上面提到的问题解决了我的问题。
编辑:如果这甚至无法解决您的问题,那么这是您系统中的内存问题。或者,您可以使用010Editor它允许您打开空间高达5GB的大文件。