Cómo agregar datos JSON en JAVA

Hola, tengo un archivo json con datos como este

[
  {
    "employee": {
      "firstName": "Rudi",
      "lastName": "Anton"
    }
  },
  {
    "employee": {
      "firstName": "Syafira",
      "lastName": "Zarakaria"
    }
  }
]

Quiero agregar datos json a este archivo.

Mi código ahora no agrega datos, reescribe el archivo.

Ayuadame

Este es mi codigo

    JSONObject employeeDetails = new JSONObject();
    employeeDetails.put("firstName", "Justin");
    employeeDetails.put("lastName", "Saklitinov");

    JSONObject employeeObject = new JSONObject(); 
    employeeObject.put("employee", employeeDetails);


    JSONObject employeeDetails2 = new JSONObject();
    employeeDetails2.put("firstName", "Zara");
    employeeDetails2.put("lastName", "Lovez");

    JSONObject employeeObject2 = new JSONObject(); 
    employeeObject2.put("employee", employeeDetails2);

    //Add employees to list
    JSONArray employeeList = new JSONArray();
    employeeList.add(employeeObject);
    employeeList.add(employeeObject2);

    //Write JSON file
    try{
        String strPath          = "employee.json";
        File strFile = new File(strPath);
        boolean fileCreated = strFile.createNewFile();
       //File appending
        Writer objWriter = new BufferedWriter(new FileWriter(strFile));
        //objWriter.write(employeeList.toJSONString());
        objWriter.flush();
        objWriter.close();
        out.flush();
        out.print("OK");
    } catch (IOException e) {
        e.printStackTrace();
    }
Respuesta 1

Prueba BufferedWriter, abre un archivo en modo de adición.

BufferedWriter out = new BufferedWriter( 
                   new FileWriter(fileName, true)); 
            out.write(str); 
            out.close(); 
Respuesta: 2

Ahora obtengo el valor de la fecha y hora de JSON como "end_datetime": "2020-12-31 20:08:00" pero quiero convertir el año de 2020> 2563 cuando obtengo valor en Textview. lo siento, no soy bueno en inglés.

Quiero usar el método indexOf para encontrar el número de palabras y letras en una cadena. El método indexOf puede aceptar: indexOf (String s) indexOf (Char c) indexOf (String s, index start) Entonces, el método ...

No creo que lo siguiente: i + = 1 o i = i + 1 sea lo mismo que ++ i. ¿O estoy equivocado? ¿Hay alguna forma de hacer un incremento previo sin usar el operador ++?

El protocolo rfb define que para una posición de transmisión (x, y) cada valor debe representarse en dos bytes. Entonces, cómo representar (108,284) en una matriz de bytes donde el protocolo define los parámetros ...