如何用很多json解析文件?

时间:2015-07-09 10:07:28

标签: java json parsing

我需要解析包含多个JSON的大文件。我没有找到任何方法如何做到这一点。文件看起来像mongoDB的BSON。 文件示例:

{"column" : value, "column_2" : value}
{"column" : valeu, "column_2" : value}
....

1 个答案:

答案 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库中。