JSON (JavaScript-Objektnotation) ist ein leichtes Datenaustauschformat, das ein vollständig sprachunabhängiges Textformat verwendet und ein ideales Datenaustauschformat ist. In der Zwischenzeit ist JSON ein natives JavaScript -Format, was bedeutet, dass keine spezielle API oder kein Toolkit erforderlich ist, um JSON -Daten in JavaScript zu verarbeiten.
Viele JSON -Konstruktions- und Parsing -Tools unter Java werden unter www.json.org veröffentlicht. Unter ihnen sind Org.json und JSON-Lib relativ einfach. Die beiden sind ähnlich, aber es gibt immer noch einige Unterschiede. Das Folgende ist ein erstes Beispiel dafür, wie JSON-Daten mit JSON-LIB konstruieren und analysiert werden.
Eine ausführliche Erläuterung der Methoden zur Konstruktion und Parsen von JSON -Daten mithilfe von org.son finden Sie in meinem nächsten Blog -Beitrag: Zwei Methoden zur Konstruktion und Parsen von JSON -Daten mit Java (detaillierte Erklärung 2)
1. Einführung
Das JSON-LIB-Paket ist ein Paket, das Bohnen, Sammlungen, Karten, Java-Arrays und XML und JSON umwandelt. Es wird hauptsächlich zur Analyse von JSON -Daten verwendet. Es enthält detaillierte Erklärungen auf der offiziellen Website http://www.json.org/. Wenn Sie interessiert sind, können Sie es studieren.
2. Laden Sie das JAR -Abhängigkeitspaket herunter: Sie können es hier herunterladen
3. Einführung in grundlegende Methoden
1. Konvertieren Sie die Listensammlung in die JSON -Methode
Listlist = new ArrayList (); list.add ("First"); list.add ("zweite");2. Konvertieren Sie die Kartensammlung in die JSON -Methode
Map map = new HashMap (); map.put ("name", "json"); map.put ("bool", boolean.true); map.put ("int", New Ganzzahl (1)); map.put ("arr", neuer String [] {"A", "B"}); map.put ("func"). JSON = jsonObject.fromObject (MAP); 3.. Bean in JSON -Code konvertieren
JsonObject jsonObject = jsonObject.fromObject (new jsonbean ());
4. Konvertieren Sie Array in JSON -Code
boolean [] boolarray = new boolean [] {true, false, true};5. Umwandeln Sie allgemeine Daten in JSON -Code
JsonArray jsonArray3 = jsonArray.fromObject ("['Json', 'ist', 'Easy']");6. Bohnen in JSON -Code konvertieren
Listliste = new ArrayList (); JSONBEAN2 JB1 = NEW JSONBEAN2 (); JB1.SETCOL (1); JB1.SETROW (1); JB1.SETVALUE ("XX"); JSONBEAN2 JB2 = NEW Jsonbean2 (); jb2.setcol (2); jb2.setrow (2); jb2.setValue (""); list.add (jb1); list.add (jb2); 4. Demonstrationsbeispiel
Hier sind einige grundlegende gemeinsame Methoden zum Testen
package com.json;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import net.sf.json.JSONArray;import net.sf.json.JSONObject;/*** Use json-lib to construct and parse Json data* * @author Alexia* @date 2013/5/23 **/public class jsontest {/*** Konstrukt JSON -Daten** @return*/public static String buildjson () {// JSON -Formatdaten Parsing -Objekt JsonObject jo = new JsonObject (); // Die folgenden Konstrukte zwei Karten, eine Liste und ein Angestellter. "Alexia"); map1.put ("Sex", "weiblich"); map1.put ("Alter", "23"); map <String, String> map2 = new Hashmap <String, String> (); map2.put ("Name", "Edward"); Map2.put ("Sex", "männlich"); MAP2.PUT ("AGE", "24"); ArrayList <Map> (); list.Add (map1); list.add (map2); Mitarbeiter Mitarbeiter = new Mitarbeiter (); Mitarbeiter.SetName ("WJL"); Mitarbeiter.SetSex ("weiblich"); Mitarbeiter.Setage (24); // konvertieren Sie die Karte in JsonArrayjsonArray JA1 = JSONAYS. DataJsonArray Ja2 = jsonArray.fromObject (Liste); // Bean in JsonArray Data JsonArray Ja3 = JsonArray.FromObject (Mitarbeiter); System.out.println ("JsonArray -Objektdaten umwandeln Format: "); System.out.println (ja1.toString ()); System.out.println (ja2.toString ()); Ja2); System.out.println ("/n Finale konstruierte JSON -Datenformat:"); System.out.println (jo.toString (); return jo.toString ();}/*** analysieren Sie JSON -Daten** @param jSonstring JSON -String*/public static void void vsejSon (Zeichen. JsonObject jb = jsonObject.fromObject (jSonstring); jsonArray ja = jb.getJsonArray ("Mitarbeiter"); Liste <Personal> emplist = new ArrayList <Wepodee> (); // Loop fügt das Angestellte Objekt hinzu (vielleicht gibt es mehrere) für (int i = 0; i <Ja.Size (); i ++) {Employee Employee = New Employee (); Mitarbeiter.SetName (Ja.getJsonObject (i) .getString ("Name"); Mitarbeiter.SetSex (ja.getJsonObject (i) .getString ("sex"); JSON -Daten zum Mitarbeiterobjekt: "); für (int i = 0; i <emplist.size (); i ++) {Mitarbeiter EMP = Emplist.get (i); System.out.println (" Name: " + emp.getName () +" Sex: " + emp.getSex () +" AGNAG: " + EMP. main (string [] args) {// Todo automatisch generierte Methode StubParsejson (Buildjson ());}} Die Betriebsergebnisse sind wie folgt
5. Vergleiche mit org.json
Die Verwendung von JSON-Lib und org.json ist fast gleich. Ich habe zwei Unterschiede zusammengefasst:
1. org.json ist viel leichter als Json-Lib. Ersteres stützt sich nicht auf andere JAR -Pakete, während letzteres von Lang, Protokollierung, Beanutils, Sammlungen und anderen Komponenten von Ezmorph und Commons abhängt.
2. JSON-LIB ist beim Bau von Bohnen und Parsing Bohnen viel bequemer als org.json. JSON-LIB kann direkt mit Bohnen konvertieren, während org.json nicht direkt mit Bohnen konvertieren und Karten als Transit benötigt. Wenn Sie Bohnen in JSON -Daten umwandeln, müssen Sie zuerst die Bohnen in Karten umwandeln und die Karten in JSON umwandeln, was problematischer ist.
Kurz gesagt, der gleiche Satz ist immer noch das Beste für Sie. Jeder sollte auswählen, mit welcher Methode sie nach Bedarf analysiert werden sollen. Schließlich werde ich zwei Tools zur Analyse von JSON -Daten vorstellen: eines ist das Online -Tool JSON EDIT (http://braincast.nl/samples/jsoneditor/); Das andere ist Eclipse Plugin Json Tree Analyzer, die beide sehr nützlich sind und für alle empfohlen werden!
Die oben genannten sind zwei Methoden, die Ihnen mit Java zur Konstruktion und Analyse von JSON -Daten vorgestellt wurden (detaillierte Erklärung eins). Ich hoffe, es wird für alle hilfreich sein!