我需要解析包含多个JSON的大文件。我没有找到任何方法如何做到这一点。文件看起来像mongoDB的BSON。 文件示例:
{"column" : value, "column_2" : value}
{"column" : valeu, "column_2" : value}
....
答案 0 :(得分:0)
您需要确定一个JSON的开始位置以及另一个JSON在文件中的结束位置。如果每个JSON都在一条单独的行上,那么这很容易,如果没有:你可以循环查找开始和结束括号,找到每个JSON之间的点。
char[] characters;
int openBraceCount = 0;
ArrayList<Integer> breakPoints = new ArrayList<>();
for(int i = 0; i < characters.length; i++) {
if(characters[i] == '{') {
openBraceCount++;
} else if(characters[i] == '}') {
openBraceCount--;
if(openBraceCount == 0) {
breakPoints.add(i + 1);
}
}
}
然后,您可以在每个断点处拆分文件,并将各个JSON传递到您最喜欢的JSON库中。