Converti stringa in oggetto JSON in Java
-
Usa
JSONObject
per convertire una stringa in un oggetto JSON in Java - Utilizza Google Gson per convertire una stringa in un oggetto JSON in Java
-
Usa
Jackson
per convertire una stringa in un oggetto JSON
In questo tutorial, discuteremo come convertire una stringa in un oggetto JSON in Java. Abbiamo diverse librerie disponibili per eseguire questa operazione.
Usa JSONObject
per convertire una stringa in un oggetto JSON in Java
JSONObject
può analizzare una stringa in un oggetto simile a una mappa. Memorizza coppie chiave-valore non ordinate. La libreria JSON-java, comunemente nota come org.json
, viene utilizzata qui con la dipendenza Maven richiesta. La dipendenza Maven che abbiamo usato è data di seguito.
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20201115</version>
</dependency>
Per analizzare una stringa JSON in JSONObject
, passiamo la stringa al costruttore come mostrato di seguito.
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());
}
}
}
Produzione:
OBJECT : {"age":"30","name":"John"}
Utilizza Google Gson per convertire una stringa in un oggetto JSON in Java
Google Gson è una libreria java per serializzare / deserializzare oggetti Java in JSON o viceversa. Può anche essere utilizzato per convertire la stringa Java nel suo oggetto JSON equivalente.
Di seguito viene fornita la dipendenza Maven richiesta per questa libreria.
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
In questo codice, creiamo prima un’istanza di Gson usando GsonBuilder chiamando il suo metodo create()
. Possiamo anche abilitare varie impostazioni di configurazione su builder
. Come mostrato di seguito, usiamo il suo metodo setPrettyPrinting()
. Come suggerisce il nome, stampa piuttosto l’output JSON.
Successivamente abbiamo utilizzato il metodo fromJson
di Gson Object, che analizza la stringa JSON nell’oggetto User
. Il metodo toJson()
utilizza Gson per riconvertire l’oggetto User
nella stringa JSON. Pertanto la stringa str
viene convertita in un oggetto JSON utilizzando la libreria 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 + "]";
}
}
Produzione :
User [John, 21, Nevada]
User Object as string : {
"name": "John",
"age": 21,
"place": "Nevada"
}
Usa Jackson
per convertire una stringa in un oggetto JSON
Jackson è anche noto come libreria Java JSON. L’ObjectMapper
viene utilizzato per mappare JSON in Java Object o Java Objects in JSON. La dipendenza Maven usata per questa libreria è mostrata di seguito.
<!-- 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>
Jackson ha un modello ad albero incorporato per rappresentare l’oggetto JSON. JsonNode
è la classe che rappresenta il modello ad albero. L’istanza ObjectMapper mapper
analizza JSON in un modello di albero JsonNode
chiamando 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();
}
}
}
Produzione:
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.
LinkedInArticolo correlato - Java String
- Converti array di byte in stringa esadecimale in Java
- Converti stringa Java in byte
- Eseguire la conversione di array da stringa a stringa in Java
- Rimuovi sottostringa dalla stringa in Java
- Confronta le stringhe in Java
- Genera stringa casuale in Java