Wie man JSON in Map in Java konvertiert
-
Jackson
-Bibliothek zur Konvertierung vonJSON
in eineMap
in Java -
GSON
Bibliothek zur Konvertierung vonJSON
nachMap
in Java
Wir stellen vor, wie man ein vorhandenes JSON in eine Map in Java konvertiert. JSON wird oft zur Strukturierung der Daten verwendet, aber manchmal müssen wir die JSON-Werte in einen anderen Datentyp bringen und dann daran arbeiten.
Für die Arbeit mit JSON in Java werden mehrere Bibliotheken erstellt. Wir werden die beiden am häufigsten verwendeten JSON-Parsing-Bibliotheken sehen, die es uns ermöglichen, viele JSON-Operationen durchzuführen.
Nachfolgend finden Sie die JSON-Bibliotheken, an denen wir in diesem Tutorial zum besseren Verständnis arbeiten werden.
{
"login" :
{
"userName" : "John Doe",
"email" : "johndoe@john.com"
}
}
Jackson
-Bibliothek zur Konvertierung von JSON
in eine Map
in Java
Wir müssen die untenstehende Abhängigkeit in unser Projekt aufnehmen, damit die Methoden und Klassen der Jackson
-Bibliothek vererbt werden können.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.2</version>
<scope>compile</scope>
</dependency>
Nachdem wir die Abhängigkeit hinzugefügt haben, werden wir zuerst die lokale JSON-Datei mit der Methode FileInputStream()
erhalten,
Wir müssen ObjectMapper().readValue()
aus der Jackson
-Bibliothek aufrufen, um unseren JSON
in Map
zu konvertieren. Die Funktion readValue(JSON, ClassType)
benötigt zwei Argumente, das JSON
und den ClassType
, die wir für die Formatierung des JSON benötigen. Da wir JSON
in das Map
-Format umwandeln wollen, werden wir Hashmap.class
verwenden.
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
public class Main {
public static void main(String[] args) throws IOException {
InputStream getLocalJsonFile = new FileInputStream("/sample.json");
HashMap<String, Object> jsonMap = new ObjectMapper().readValue(getLocalJsonFile, HashMap.class);
System.out.println(jsonMap);
}
}
Ausgabe:
{login={userName=John Doe, email=johndoe@john.com}}
GSON
Bibliothek zur Konvertierung von JSON
nach Map
in Java
Zuerst müssen wir die Abhängigkeit unseres Projekts einbeziehen, um alle GSON-Methoden und -Klassen in unseren Antrag aufzunehmen.
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
GSON
ist eine weit verbreitete JSON-Bibliothek, die wir parsen und in Java Map konvertieren werden.
Gson().fromJson(json, type)
erwartet zwei Argumente, von denen eines die JSON-Datei ist, die wir mit new JsonReader(new FileReader(jsonFilePath))
erhalten können, und das zweite Argument ist der Typ, in den wir das JSON konvertieren wollen.
Sehen Sie sich das folgende Beispiel an.
import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import com.google.gson.stream.JsonReader;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.Map;
public class Main {
public static void main(String[] args) throws IOException {
JsonReader getLocalJsonFile = new JsonReader(new FileReader("/sample.json"));
Type mapTokenType = new TypeToken<Map<String, Map>>() {}.getType();
Map<String, String[]> jsonMap = new Gson().fromJson(getLocalJsonFile, mapTokenType);
System.out.println(jsonMap);
}
}
Ausgabe:
{login={userName=John Doe, email=johndoe@john.com}}
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