1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

zwei JsonArrays statt zwei JsonObjecte in einem JsonArray

Dieses Thema im Forum "Java Mobile, Android, J2ME, Blackberry" wurde erstellt von BLR, 15. Januar 2015.

  1. BLR

    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:

    Code (Java):
    1. public static void schreiben(){
    2.  
    3.             Arralist<String>daten = new Arraylist<String>();
    4.             /*
    5.              * Abteilungsbezeichnungen hinzufuegen
    6.            */
    7.             for (int i = 0; i < daten.size(); i++) {
    8.                 jsonObct = new JSONObject();
    9.                 jsonObct.put("Abteilung", daten.get(i).getText().toString());
    10.                 jsonArray.put(jsonObct);
    11.             }
    12.             FileWriter     fwriter = new FileWriter(new File("C:\datei.txt"),true);          
    13.             fwriter.append(jsonArray.toString());
    14.             fWriter.close();
    15. }
    16.  
    17. public static ArrayList<String> getCategories(){      
    18.  
    19.     ArrayList<String> daten= new ArrayList<String>();
    20.     try {
    21.         String abteilung="";
    22.  
    23.         FileReader freader = new FileReader("C:\datei.txt");
    24.         bufferReader = new BufferedReader(fReader);
    25.         StringBuilder stringBuild = new StringBuilder();
    26.         while ((abteilung= bufferReader.readLine()) != null) {
    27.              stringBuild.append(abteilung+ "\n");
    28.         }          
    29.    
    30.        
    31.         JSONArray jsonArray = new JSONArray(sb.toString());  
    32.         //Hier ist der Wert "length" immer 0          
    33.         for (int i = 0; i < jsonArray.length(); ++i) {
    34.              String abteilung= (String)  jsonArray.getJSONObject(i).get("Abteilung");
    35.              daten.add(abteilung);  
    36.  
    37.          }
    38. }

    Wie kann ich das Problem lösen
     
Die Seite wird geladen...
Ähnliche Themen - zwei JsonArrays statt
  1. cesartiluminatus
    Antworten:
    6
    Aufrufe:
    775