Convertir une chaîne de caractères en objet JSON en Java
-
Utilisez
JSONObject
pour convertir une chaîne de caractères en objet JSON en Java - Utiliser Google Gson pour convertir une chaîne en objet JSON en Java
-
Utilisez
Jackson
pour convertir une chaîne de caractères en objet JSON
Dans ce tutoriel, nous allons discuter de la manière de convertir une chaîne de caractères en un objet JSON en Java. Nous disposons de différentes bibliothèques pour effectuer cette tâche.
Utilisez JSONObject
pour convertir une chaîne de caractères en objet JSON en Java
JSONObject
peut analyser une chaîne de caractères pour en faire un objet ressemblant à une carte. Il stocke des paires clé-valeur non ordonnées. La bibliothèque JSON-java, communément appelée org.json
, est utilisée ici avec la dépendance requise de maven. La dépendance de maven que nous avons utilisée est donnée ci-dessous.
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20201115</version>
</dependency>
Pour analyser une chaîne JSON en JSONObject
, nous passons la chaîne au constructeur comme indiqué ci-dessous.
import org.json.JSONException;
import org.json.JSONObject;
public class StringToJsonObject {
public static void main(String[] args) {
try {
String str = "{\"name\":\"John\",\"age\":\"30\"}";
JSONObject jsonObject = new JSONObject(str);
System.out.println("OBJECT : " + jsonObject.toString());
} catch (JSONException err) {
System.out.println("Exception : " + err.toString());
}
}
}
Production :
OBJECT : {"age":"30","name":"John"}
Utiliser Google Gson pour convertir une chaîne en objet JSON en Java
Google Gson est une bibliothèque java permettant de sérialiser/désérialiser des objets Java vers JSON ou vice-versa. Elle peut également être utilisée pour convertir une chaîne de caractères Java en son équivalent en objet JSON.
La dépendance maven requise pour cette bibliothèque est donnée ci-dessous.
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
Dans ce code, nous créons d’abord une instance de Gson en utilisant GsonBuilder en appelant sa méthode create()
. Nous pouvons également activer divers paramètres de configuration sur builder
. Comme montré ci-dessous, nous utilisons sa méthode setPrettyPrinting()
. Comme son nom l’indique, cette méthode imprime la sortie JSON.
Plus tard, nous avons utilisé la méthode fromJson
de l’objet Gson, qui analyse la chaîne JSON pour l’objet User
. La méthode toJson()
utilise Gson pour reconvertir l’objet User
en chaîne JSON. Ainsi, la chaîne str
est convertie en un objet JSON à l’aide de la bibliothèque Gson.
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonIOException;
public class StringToJsonObject {
public static void main(String[] args) {
try {
String str = "{\"name\":\"John\", \"age\":21 , \"place\":\"Nevada\"}";
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
User user = gson.fromJson(str, User.class);
System.out.println(user.ShowAsString());
str = gson.toJson(user);
System.out.println("User Object as string : " + str);
} catch (JsonIOException err) {
System.out.println("Exception : " + err.toString());
}
}
}
class User {
public String name;
public int age;
public String place;
public String ShowAsString() {
return "User [" + name + ", " + age + ", " + place + "]";
}
}
Production :
User[John, 21, Nevada] User Object as string : {
"name" : "John", "age" : 21, "place" : "Nevada"
}
Utilisez Jackson
pour convertir une chaîne de caractères en objet JSON
Jackson est également connu sous le nom de bibliothèque Java JSON. Le ObjectMapper
est utilisé pour mapper JSON en objets Java ou les objets Java en JSON. La dépendance de maven utilisée pour cette bibliothèque est présentée ci-dessous.
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.3</version>
</dependency>
La Jackson a un modèle d’arbre intégré pour représenter l’objet JSON. JsonNode
est la classe qui représente le modèle d’arbre. L’instance ObjectMapper mapper
analyse JSON en un modèle d’arbre JsonNode
appelant readTree()
.
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class StringToJsonObject {
public static void main(String[] args) {
String json_str = "{\"name\":\"John\", \"age\":21 , \"place\":\"Nevada\"}";
ObjectMapper mapper = new ObjectMapper();
try {
JsonNode node = mapper.readTree(json_str);
String name = node.get("name").asText();
String place = node.get("age").asText();
System.out.println("node" + node);
System.out.println("name: " + name + ", place: " + place);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
Production :
node{"name":"John","age":21,"place":"Nevada"}
name: John, place: 21
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 String
- Comment effectuer une conversion de chaîne en chaîne en Java
- Comment supprimer une sous-chaîne d'une chaîne en Java
- Comment convertir un tableau d'octets en chaîne hexadécimale en Java
- Comment convertir une chaîne Java en octet
- Générer une chaîne aléatoire en Java
- La méthode d'échange à Java