Wie man Hashmap in JSON-Objekt in Java konvertiert
-
new JSONObject(hashmap)
zur Konvertierung von Hashmap in JSON-Objekt -
Jackson
-Bibliothek zur Konvertierung von Hashmap in ein JSON-Objekt -
GSON
-Bibliothek zur Konvertierung der Hashmap in ein JSON-Objekt
Dieser Artikel zeigt die Möglichkeiten zur Konvertierung einer Hashmap in ein JSON-Objekt in Java. Wir werden die Beispiele im Detail über die Erstellung einer Hashmap und die anschließende Konvertierung in ein JSON-Objekt sehen.
Hashmap und JSON werden beide sehr häufig von Entwicklern verwendet, da sie uns helfen, eine einfache Struktur zu erstellen, die sowohl für die Speicherung als auch für die einfache Übertragung von Daten verwendet werden kann.
new JSONObject(hashmap)
zur Konvertierung von Hashmap in JSON-Objekt
Die traditionellste Art, eine Hashmap in ein JSON-Objekt zu konvertieren, ist der Aufruf von JSONObject()
und die anschließende Übergabe der Hashmap.
Sehen wir uns ein Beispiel an, das eine Hashmap erstellt und diese dann im JSON-Format ausgibt.
import java.util.HashMap;
import java.util.Map;
import org.json.simple.JSONObject;
public class Main {
public static void main(String[] args) {
Map<String, Object> map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
JSONObject json = new JSONObject(map);
System.out.printf("JSON: %s", json);
}
Ausgabe:
JSON: {"key1":"value1","key2":"value2"}
Eine Sache, die hier zu beachten ist, ist, dass Map<String, Object>
eine Zeichenkette, die der Schlüssel
ist, und das Objekt, das der Wert
ist. Das bedeutet, dass wir jedes gültige Objekt als Wert an die Map übergeben und es dann als JSON-Objekt konvertieren können.
Unten sehen Sie ein Beispiel, das eine Zeichenkette und eine Arraylist
als Wert annimmt.
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import org.json.simple.JSONObject;
public class Main {
public static void main(String[] args) {
ArrayList<String> stringArrayList = new ArrayList<>();
stringArrayList.add("firstString");
stringArrayList.add("secondString");
stringArrayList.add("thirdString");
Map<String, Object> map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("stringList", stringArrayList);
JSONObject json = new JSONObject(map);
System.out.printf("JSON: %s", json);
}
Ausgabe:
JSON: {"key1":"value1","key2":"value2","stringList":["firstString","secondString","thirdString"]}
Jackson
-Bibliothek zur Konvertierung von Hashmap in ein JSON-Objekt
Es gibt Bibliotheken in Java, mit deren Hilfe wir unsere Hashmap mit viel Flexibilität in ein JSON-Objekt umwandeln können.
Jackson ist eine dieser Bibliotheken, die eine Java- map
nimmt und dann die Map in das JSON-Format konvertiert.
Wir sollten nicht vergessen, die JsonProcessingException
zu behandeln, da ObjectMapper().writeValueAsString(map)
eine Exception auslösen kann, wenn sie ein inkompatibles Datenformat findet.
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) throws JsonProcessingException {
Map<String, Object> map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
String json = new ObjectMapper().writeValueAsString(map);
System.out.printf("JSON: %s", json);
}
Ausgabe:
JSON: {"key1":"value1","key2":"value2"}
GSON
-Bibliothek zur Konvertierung der Hashmap in ein JSON-Objekt
Die Gson-Bibliothek ist eine der am häufigsten verwendeten Bibliotheken zur Konvertierung einer Hashmap in ein JSON-Objekt. Sie bietet einfache Methoden zur Arbeit an unserer Hashmap und JSON.
Die Klasse Gson
hat eine Methode toJsonTree
die unsere Map nimmt und sie in einen JSON-Baum konvertiert. Da wir aber ein JSON-Objekt benötigen, können wir toJSONObject()
verwenden, um den JSON-Baum zu einem JSON-Objekt zu machen.
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Object> map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
Gson gson = new Gson();
JsonObject json = gson.toJsonTree(map).getAsJsonObject();
System.out.printf("JSON: %s", json);
}
Ausgabe:
JSON: {"key1":"value1","key2":"value2"}
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java JSON
- JSON in Java deserialisieren
- Konvertieren Sie JSON-Daten in String in Java
- Objekt in JSON in Java serialisieren
- Pretty-Print-JSON-Daten in Java
- Umgang mit JSON-Arrays in Java
- Konvertieren XML in JSON in Java