Comment convertir JSON en carte en Java
-
Bibliothèque
Jackson
pour convertir unJSON
enMap
en Java -
Bibliothèque
GSON
pour convertirJSON
enMap
en Java
Nous présenterons comment convertir un JSON existant en une Map en Java. JSON est souvent utilisé pour structurer les données, mais parfois nous devons obtenir les valeurs JSON dans un autre type de données et ensuite travailler dessus.
Plusieurs bibliothèques sont créées pour travailler avec JSON en Java. Nous verrons les deux bibliothèques d’analyse JSON les plus utilisées qui nous permettent d’effectuer de nombreuses opérations JSON.
Pour une meilleure compréhension, voici la JSON sur laquelle nous allons travailler dans ce tutoriel.
{
"login" :
{
"userName" : "John Doe",
"email" : "johndoe@john.com"
}
}
Bibliothèque Jackson
pour convertir un JSON
en Map
en Java
Nous devons inclure la dépendance ci-dessous dans notre projet afin que les méthodes et les classes de la bibliothèque Jackson
puissent être héritées.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.2</version>
<scope>compile</scope>
</dependency>
Après avoir ajouté la dépendance, nous allons d’abord obtenir le fichier JSON local en utilisant la méthode FileInputStream()
,
Nous devons appeler ObjectMapper().readValue()
de la bibliothèque Jackson
pour convertir notre JSON
en Map
. La fonction readValue(JSON, ClassType)
prend deux arguments, le JSON
et le ClassType
que nous voulons que le JSON soit formaté. Comme nous voulons convertir le JSON
au format Map
, nous utiliserons Hashmap.class
.
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);
}
}
Production:
{login={userName=John Doe, email=johndoe@john.com}}
Bibliothèque GSON
pour convertir JSON
en Map
en Java
Premièrement, nous devons inclure la dépendance de notre projet pour inclure toutes les méthodes et classes de GSON dans notre demande.
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
GSON est une bibliothèque JSON largement utilisée que nous allons analyser et convertir en Java Map.
Gson().fromJson(json, type)
attend deux arguments, dont l’un est le fichier JSON que nous pouvons obtenir en utilisant new JsonReader(new FileReader(jsonFilePath))
et le second argument est le type vers lequel nous voulons que le JSON soit converti.
Regardez l’exemple ci-dessous.
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);
}
}
Production:
{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.
LinkedInArticle connexe - Java JSON
- Gestion des tableaux JSON en Java
- Convertir XML en JSON en Java
- Conversion JSON en XML en Java
- Convertir JSON en objet Java
- Lire le fichier JSON en Java
- Analyser JSON en Java