In diesem Kapitel stellen wir vor, wie man JSON in der Java-Sprache verwendet.

Bibliotheksauswahl

Java verfügt nicht über eine integrierte JSON-Verarbeitung, daher ist für die Verwendung von JSON eine Bibliothek eines Drittanbieters erforderlich.

Im Folgenden sind einige häufig verwendete JSON-Parsing-Bibliotheken aufgeführt:

  • Gson: Eine von Google entwickelte JSON-Bibliothek mit sehr umfangreicher Funktionalität.
  • FastJson: Eine von Alibaba entwickelte JSON-Bibliothek mit hervorragender Leistung.
  • Jackson: Die Community ist sehr aktiv und die Updates erfolgen sehr schnell.

Das folgende Tutorial basiert auf FastJson.

Umgebungs-Setup

In einem mit Maven erstellten Projekt fügen Sie einfach die folgende Abhängigkeit zur Datei pom.xml hinzu.

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>

Kodierung und Dekodierung

Kodierung

Der Kodierungsprozess von Java-Variablen in das JSON-Format ist wie folgt:

Beispiel

public void testJson() { JSONObject object = new JSONObject(); //string object.put("string","string"); //int object.put("int",2); //boolean object.put("boolean",true); //array List<Integer> integers = Arrays.asList(1,2,3); object.put("list",integers); //null object.put("null",null); ​ System.out.println(object); }

Im obigen Beispiel wird zuerst ein JSON-Objekt erstellt, dann werden nacheinander ein String, ein Integer, ein Boolean und ein Array hinzugefügt und schließlich wird es als String ausgegeben.

Das Ausgabeergebnis ist wie folgt:

{"boolean":true,"string":"string","list":[1,2,3],"int":2}

Dekodierung

Der Decodierungsprozess von JSON-Objekten zu Java-Variablen ist wie folgt:

Beispiel

public void testJson2() { ​ JSONObject object = JSONObject .parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}"); //string String s = object.getString("string"); System.out.println(s); //int int i = object.getIntValue("int"); System.out.println(i); //boolean boolean b = object.getBooleanValue("boolean"); System.out.println(b); //list List<Integer> integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class); integers.forEach(System.out::println); //null System.out.println(object.getString("null")); ​ }

Im obigen Beispiel wird zuerst ein JSON-Objekt aus einer Zeichenkette im JSON-Format erstellt, dann werden nacheinander die Zeichenkette, Ganzzahl, Boolean und das Array gelesen und schließlich separat ausgegeben. Das ausgegebene Ergebnis sieht wie folgt aus:

string
2
true
1
2
3
null

Konvertierung zwischen JSON-Objekten und Zeichenketten

MethodeBeschreibung
JSON.parseObject()Ein JSON-Objekt aus einer Zeichenkette parsen
JSON.parseArray()Ein JSON-Array aus einer Zeichenkette parsen
JSON.toJSONString(obj/array)Ein JSON-Objekt oder JSON-Array in eine Zeichenkette konvertieren

Beispiel

//JSON-Objekt aus einem String parsen JSONObject obj = JSON.parseObject("{\"example\":\"Example\"}"); //JSON-Array aus einem String parsen JSONArray arr = JSON.parseArray("[\"Example\",\"EXAMPLE\"]\n"); //JSON-Objekt in einen String umwandeln String objStr = JSON.toJSONString(obj); //JSON-Array in einen String umwandeln String arrStr = JSON.toJSONString(arr);

Verwandte Tutorials