What you have there is JSON with some semicolon separated strings in it. I wouldn't call this a CSV format at all.
You could parse the JSON to Java objects with a JSON parser like Gson, but you'll still need to pick the "columns" out of the Java object since they are not properly defined in JSON.
Something like this should work, I recommend you add more error checking than I have though:
public class DBEntry {
    @SerializedName("ParkingSpaces;;;;")
    @Expose
    private String ParkingSpaces;
    public String getParkingSpaces() {
        return ParkingSpaces;
    }
    public void setParkingSpaces(String ParkingSpaces) {
        this.ParkingSpaces = ParkingSpaces;
    }
}
public static void main(String[] args) {
    String json = "[{\"ParkingSpaces;;;;\":\"Name;CarPlate;Description;ExpirationDate;Owner\"},{\"ParkingSpaces;;;;\":\"A5;T555;Parkingspace A5;;\"},{\"ParkingSpaces;;;;\":\"A6;T666;Parkingspace A6;;\"},{\"ParkingSpaces;;;;\":\"A7;T777;Parkingspace A7;;\"},{\"ParkingSpaces;;;;\":\"\"}]";
    // Convert JSON to java objects using the popular Gson library
    Gson gson = new Gson();
    Type collectionType = new TypeToken<ArrayList<DBEntry>>(){}.getType();
    List<DBEntry> results = gson.fromJson(json, collectionType);
    boolean header = true;
    for (DBEntry result : results) {
        // Ignore the header and empty rows
        if (header || result.getParkingSpaces().isEmpty()) { header = false; continue; }
        // Grab the columns from the parking spaces string
        String[] columns = result.getParkingSpaces().split(";");
        // TODO: Store this record in your database
        System.out.println("New entry: " + StringUtils.join(columns, ", "));
    }
}