从文本文件中提取JSON字符串,其中JSON字符串不用逗号分隔

时间:2015-06-08 18:44:34

标签: java json

我有一个包含JSON对象的文本文件,不用逗号分隔,如下所示,

{"fieldA":"value A", "fieldB":"value B"}

{"fieldA":"valueA_", "fieldB":"valueB_", "fieldC":"valueC"}

{"fieldA":"valueA_", "fieldB":"valueB__", "fieldC":"valueC_"}

现在,我必须使用Java创建一个JSON对象的列表/数组。以上只是示例JSON,实际JSON很大,这就是为什么我不能一行一行地阅读。

2 个答案:

答案 0 :(得分:1)

循环遍历项目并每行迭代为一个对象并处理它们。

如果您不知道大小,请将行(字符串)动态添加到列表中。

List<String> lines = new LinkedList<String>(); // create a new list
String line = in.readLine(); // read a line at a time
while(line != null){ // loop till you have no more lines
    lines.add(line) // add the line to your list
    line = in.readLine(); // try to read another line
}

// Process lines here or in loop above

答案 1 :(得分:0)

我终于找到了解决方案,

请注意,每个json对象都以相同的字段开头(即上例中的fieldA)。我在整个字符串中替换了{&#34; fieldA&#34;:with,&#34; fieldA&#34; :(在两个连续的json字符串之间添加了逗号),并在第一个和最后一个(包括)字符之间取了子字符串。然后,我添加了[在开头和]到最后构造json字符串数组。我使用Jackson库进行映射并创建了json对象数组。