有 Java 编程相关的问题?

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

Java不能生成多个JSON文本

我试图从我的数据生成一个json文件,但在得到这个异常之前,我只生成了一个json对象Java Cannot generate more than one JSON text

这是我的代码:

     OutputStream fos = new FileOutputStream("new_fake_students.json",false);
        JsonGenerator g = Json.createGenerator(fos);
        while (matcher.find())
        {
            String temp = matcher.group();
            String[] values = temp.split(",");
            if(values.length>=4)
            { 
              g.writeStartObject();
              g.write("id",values[0]);
              g.write("name",values[1]+values[2]);
              g.write("major",values[3]);
              g.writeEnd();
            }
        }
  g.close();
  fos.close();
}

共 (1) 个答案

  1. # 1 楼答案

    由于似乎生成了多个对象,您确定不想生成对象数组吗?也许:

        OutputStream fos = new FileOutputStream("new_fake_students.json",false);
        JsonGenerator g = Json.createGenerator(fos);
        g.writeStartArray(); // start the array
        while (matcher.find())
        {
            String temp = matcher.group();
            String[] values = temp.split(",");
            if(values.length>=4)
            { 
              g.writeStartObject();
              g.write("id",values[0]);
              g.write("name",values[1]+values[2]);
              g.write("major",values[3]);
              g.writeEndObject(); // does g.writeEnd() even exists?
            }
        }
        g.writeEndArray(); // close that array