有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从文本文件中提取JSON字符串,其中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) 个答案

  1. # 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
    
  2. # 2 楼答案

    我终于找到了解决办法

    请注意,不要让每个json对象都以相同的字段开头(即上面示例中的fieldA)。我将整个字符串中的{“fieldA”:替换为{“fieldA”:(在两个连续的json字符串之间添加逗号),并在第一个和最后一个(包括)字符之间添加子字符串。然后,我在开始和结束时添加[和],以构建json字符串数组。我使用Jackson库进行映射,并创建了json对象数组