2017-02-28 5 views
0

Ich habe folgende JSON-Struktur zu erstellen:Java-Code ein Array von Array mit simplejson

{ 
    "PARAMORDER": [{ 
     "TAB1": [{ 
      "1": "Picture ID Source" 
     }, { 
      "2": "Place of Issuance" 

     }], 
     "TAB2": [{ 
      "1": "Picture ID Source" 
     }, { 
      "2": "Place of Issuance" 

     }] 
    }] 
} 

Ich versuche, ein JSON-Array mit Java-Code zu erstellen, die wie das obige Format aussieht, wenn es analysiert wird und abgerufen . Ich verwende org.json.simple API dafür. Ich kann jedoch kein Array in JSON mit Java-Code erstellen. Kann mir jemand bitte einen Beispielcode mitteilen, mit dem der JSON im obigen Format erstellt werden kann.

Unten ist der Beispielcode habe ich versucht, die ein JSON-Array erstellt:

JSONArray jsonArray = new JSONArray(); 
JSONObject firstJson = new JSONObject(); 
JSONObject secondJson = new JSONObject(); 

firstJson.put("1", "Picture ID Source"); 
secondJson.put("1", "Picture ID Source"); 

jsonArray.add(firstJson); 
jsonArray.add(secondJson); 

System.out.println(jsonArray.toString); 

Das gibt mir die folgende JSON:

[{ 
    "1": "Picture ID Source" 
}, { 
    "1": "Picturesecond ID Source" 
}] 

Ich kann keine JSONArray von JSONArray erstellen. Kann mir bitte jemand dabei helfen? Vielen Dank im Voraus.

+0

Zunächst einmal sind wir nicht eine Frage-und-Antwort-Seite, Code-Writing Service. Zweitens erzeugt dieser Code nicht das JSON. –

+0

Ich wusste, dass Code nicht das JSON gibt, das ich brauche. Ich wollte nur einen Vorschlag wie nur einen Beispielcode, um es zu konstruieren und deshalb habe ich gerade hier gepostet. Stack Over Flow hat mir immer geholfen, meine Fähigkeiten zu verbessern, und ich wusste auch, dass dies kein Code-Schreibdienst ist. – RRN

Antwort

1

Sie sind auf dem richtigen Weg, aber Sie benötigen viel mehr Code, um die Zwischenebenen zu erstellen, die Strukturen können auf eine baumartige Weise unbegrenzt hinzugefügt werden. Auch Ihre oberste Ebene in Ihrem Beispiel ist ein JSON-Objekt, kein Array.

JSONObject root = new JSONObject(); 
JSONArray paraArray = new JSONArray(); 
JSONObject a = new JSONObject(); 
JSONArray tab1 = new JSONArray(); 
JSONObject source1 = new JSONObject(); 
source1.put("1", "Picture ID Source"); 
tab1.add(source1); 
JSONObject source2 = new JSONObject(); 
source2.put("2", "Place of Issuance"); 
tab1.add(source2); 
a.put("TAB1", tab1); 
paraArray.add(a); 

JSONObject b = new JSONObject(); 
JSONArray tab2 = new JSONArray(); 
JSONObject source3 = new JSONObject(); 
source3.put("1", "Picture ID Source"); 
tab2.add(source3); 
JSONObject source4 = new JSONObject(); 
source4.put("2", "Place of Issuance"); 
tab2.add(source4); 
b.put("TAB2", tab2); 
paraArray.add(b); 

root.put("PARAMORDER", paraArray); 

System.out.println(root.toString()); 

Ausgabe

{"PARAMORDER":[{"TAB1":[{"1":"Picture ID Source"},{"2":"Place of Issuance"}]},{"TAB2":[{"1":"Picture ID Source"},{"2":"Place of Issuance"}]}]} 
+0

Vielen Dank Adam! Diese Idee hat mein Problem gelöst :) Danke nochmal !! – RRN