Java:
Lavorare con JSON
Come fare:
Rimbocchiamoci le maniche e iniziamo a programmare con JSON in Java.
Prima cosa, avrai bisogno di una libreria di elaborazione JSON come Jackson
o Google Gson
. Qui useremo Jackson
, quindi aggiungi questa dipendenza al tuo pom.xml
:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.1</version>
</dependency>
Ora, serializziamo (scriviamo) un semplice oggetto Java in JSON:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonExample {
public static void main(String[] args) {
try {
ObjectMapper mapper = new ObjectMapper();
Person persona = new Person("Alex", 30);
String json = mapper.writeValueAsString(persona);
System.out.println(json);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Person {
public String nome;
public int eta;
public Person(String nome, int eta) {
this.nome = nome;
this.eta = eta;
}
}
L’output dovrebbe essere:
{"nome":"Alex","eta":30}
Ora, per deserializzare (leggere) il JSON di nuovo in un oggetto Java:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonExample {
public static void main(String[] args) {
String json = "{\"nome\":\"Alex\",\"eta\":30}";
try {
ObjectMapper mapper = new ObjectMapper();
Person persona = mapper.readValue(json, Person.class);
System.out.println(persona.nome + " ha " + persona.eta + " anni.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
L’output sarà:
Alex ha 30 anni.
Approfondimento
La semplicità e l’efficacia di JSON lo hanno reso lo standard de facto per lo scambio di dati sulla rete, superando XML. Introdotta nei primi anni 2000, JSON deriva da JavaScript ma ora è supportato dalla maggior parte dei linguaggi.
Alternative a JSON includono XML, che è più verboso, e formati binari come Protocol Buffers o MessagePack, che sono meno leggibili dall’uomo ma più efficienti in termini di dimensione e velocità. Ognuno ha i suoi casi d’uso; la scelta dipende dalle specifiche esigenze dati e dal contesto.
In Java, oltre a Jackson
e Gson
, abbiamo JsonB
e org.json
come altre librerie per gestire JSON. Jackson offre un’elaborazione basata su stream ed è noto per la velocità, mentre Gson è celebrato per la sua facilità di uso. JsonB è parte di Jakarta EE, offrendo un approccio più standardizzato.
Quando si implementa JSON, ricordatevi di gestire correttamente le vostre eccezioni - il vostro codice dovrebbe essere robusto contro input errati. Inoltre, considerate le implicazioni di sicurezza del binding automatico dei dati – validate sempre i vostri input!