Wie man Hashmap in JSON-Objekt in Java konvertiert

Rupam Yadav 12 Oktober 2023
  1. new JSONObject(hashmap) zur Konvertierung von Hashmap in JSON-Objekt
  2. Jackson-Bibliothek zur Konvertierung von Hashmap in ein JSON-Objekt
  3. GSON-Bibliothek zur Konvertierung der Hashmap in ein JSON-Objekt
Wie man Hashmap in JSON-Objekt in Java konvertiert

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 Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Verwandter Artikel - Java JSON

Verwandter Artikel - Java Hashmap