zwei JsonArrays statt zwei JsonObjecte in einem JsonArray

BLR

Erfahrenes Mitglied
Hallo, ich bin neu im Umgang mit json und habe folgendes vor.
Ich möchte in einer Textdatei Abteilungen speichern und die jeweiligen Mitarbeiter in der Abteilung.

Zur Zeit speichere ich nur eine Abteilung. Wenn ich die zweite Abteilung speichere, so sehe ich beim Auslesen folgendes Bild:
[{"Abteilung":"Personal"}][{"Abteilung":"Buchhaltung"}]
Das bedeutet für mich, dass ich zwei JsonArrays speichere, statt zwei Objecte in einem JsonArray.
Als Lösung des Problems drängt sich mir auf, dass erstmal das vorhandene Array auslese, und ans Ende ein neues jsonObject anfüge und dann wieder speichere.
Nur ich sehe da ein Leistungsproblem, wenn ich N-Abteilungen auslese und direkt auch noch deren Mitarbeiter, so wird das ganz schnell sehr langsam, oder?

Wie kann ich das Problem geschickt lösen?

Mein Code:

Java:
public static void schreiben(){

            Arralist<String>daten = new Arraylist<String>();
            /*
             * Abteilungsbezeichnungen hinzufuegen
           */
            for (int i = 0; i < daten.size(); i++) {
                jsonObct = new JSONObject();
                jsonObct.put("Abteilung", daten.get(i).getText().toString());
                jsonArray.put(jsonObct);
            }
            FileWriter     fwriter = new FileWriter(new File("C:\datei.txt"),true);          
            fwriter.append(jsonArray.toString());
            fWriter.close();
}

public static ArrayList<String> getCategories(){      
  
    ArrayList<String> daten= new ArrayList<String>();
    try {
        String abteilung="";

        FileReader freader = new FileReader("C:\datei.txt");
        bufferReader = new BufferedReader(fReader);
        StringBuilder stringBuild = new StringBuilder();
        while ((abteilung= bufferReader.readLine()) != null) {
             stringBuild.append(abteilung+ "\n");
        }          
   
       
        JSONArray jsonArray = new JSONArray(sb.toString());   
        //Hier ist der Wert "length" immer 0           
        for (int i = 0; i < jsonArray.length(); ++i) {
             String abteilung= (String)  jsonArray.getJSONObject(i).get("Abteilung");
             daten.add(abteilung);  

         }
}


Wie kann ich das Problem lösen
 
Zurück