- JSON
- Esercizio 1: Parsing di un JSON Semplice
- Esercizio 2: Creazione di un JSON
- Esercizio 3: Parsing di un Array JSON
- Esercizio 4: Creazione di un Array JSON
- Esercizio 5: Lettura di un File JSON
- Esercizio 6: Scrittura di un File JSON
- XML
- Esercizio 7: Parsing di un XML Semplice
- Esercizio 8: Creazione di un XML
- Esercizio 9: Lettura di un File XML
- Esercizio 10: Scrittura di un File XML
Ecco degli esercizi con soluzione per praticare l’uso di JSON e XML in Java.
JSON
Esercizio 1: Parsing di un JSON Semplice
Parse di una stringa JSON e stampa dei valori utilizzando la libreria `org.json`.
import org.json.JSONObject;
public class ParsingJsonSemplice { public static void main(String[] args) { String jsonString = "{\"nome\":\"Mario\", \"eta\":30, \"citta\":\"Roma\"}"; JSONObject jsonObject = new JSONObject(jsonString);
String nome = jsonObject.getString("nome"); int eta = jsonObject.getInt("eta"); String citta = jsonObject.getString("citta");
System.out.println("Nome: " + nome); System.out.println("Età : " + eta); System.out.println("Città : " + citta); }}
Esercizio 2: Creazione di un JSON
Creare un oggetto JSON a partire da valori Java utilizzando la libreria `org.json`.
import org.json.JSONObject;
public class CreazioneJson { public static void main(String[] args) { JSONObject jsonObject = new JSONObject(); jsonObject.put("nome", "Luca"); jsonObject.put("eta", 25); jsonObject.put("citta", "Milano");
System.out.println(jsonObject.toString()); }}
Esercizio 3: Parsing di un Array JSON
Parse di un array JSON e stampa dei valori utilizzando la libreria `org.json`.
import org.json.JSONArray;import org.json.JSONObject;
public class ParsingJsonArray { public static void main(String[] args) { String jsonString = "[{\"nome\":\"Mario\", \"eta\":30}, {\"nome\":\"Luca\", \"eta\":25}]"; JSONArray jsonArray = new JSONArray(jsonString);
for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String nome = jsonObject.getString("nome"); int eta = jsonObject.getInt("eta");
System.out.println("Nome: " + nome); System.out.println("Età : " + eta); } }}
Esercizio 4: Creazione di un Array JSON
Creare un array JSON a partire da valori Java utilizzando la libreria `org.json`.
import org.json.JSONArray;import org.json.JSONObject;
public class CreazioneJsonArray { public static void main(String[] args) { JSONArray jsonArray = new JSONArray();
JSONObject jsonObject1 = new JSONObject(); jsonObject1.put("nome", "Mario"); jsonObject1.put("eta", 30);
JSONObject jsonObject2 = new JSONObject(); jsonObject2.put("nome", "Luca"); jsonObject2.put("eta", 25);
jsonArray.put(jsonObject1); jsonArray.put(jsonObject2);
System.out.println(jsonArray.toString()); }}
Esercizio 5: Lettura di un File JSON
Leggere un file JSON e stampare i valori utilizzando la libreria `org.json`.
import org.json.JSONArray;import org.json.JSONObject;
import java.nio.file.Files;import java.nio.file.Paths;
public class LetturaFileJson { public static void main(String[] args) { try { String jsonString = new String(Files.readAllBytes(Paths.get("data.json"))); JSONArray jsonArray = new JSONArray(jsonString);
for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String nome = jsonObject.getString("nome"); int eta = jsonObject.getInt("eta");
System.out.println("Nome: " + nome); System.out.println("Età : " + eta); } } catch (Exception e) { e.printStackTrace(); } }}
Esercizio 6: Scrittura di un File JSON
Creare e scrivere un file JSON utilizzando la libreria `org.json`.
import org.json.JSONArray;import org.json.JSONObject;
import java.nio.file.Files;import java.nio.file.Paths;
public class ScritturaFileJson { public static void main(String[] args) { JSONArray jsonArray = new JSONArray();
JSONObject jsonObject1 = new JSONObject(); jsonObject1.put("nome", "Mario"); jsonObject1.put("eta", 30);
JSONObject jsonObject2 = new JSONObject(); jsonObject2.put("nome", "Luca"); jsonObject2.put("eta", 25);
jsonArray.put(jsonObject1); jsonArray.put(jsonObject2);
try { Files.write(Paths.get("output.json"), jsonArray.toString().getBytes()); System.out.println("File JSON scritto con successo!"); } catch (Exception e) { e.printStackTrace(); } }}
XML
Esercizio 7: Parsing di un XML Semplice
Parse di una stringa XML e stampa dei valori utilizzando la libreria `javax.xml.parsers`.
import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;
public class ParsingXmlSemplice { public static void main(String[] args) { try { String xmlString = "<persone><persona><nome>Mario</nome><eta>30</eta></persona><persona><nome>Luca</nome><eta>25</eta></persona></persone>"; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new java.io.ByteArrayInputStream(xmlString.getBytes()));
NodeList listaPersone = document.getElementsByTagName("persona");
for (int i = 0; i < listaPersone.getLength(); i++) { Node nodo = listaPersone.item(i); if (nodo.getNodeType() == Node.ELEMENT_NODE) { Element elemento = (Element) nodo; String nome = elemento.getElementsByTagName("nome").item(0).getTextContent(); String eta = elemento.getElementsByTagName("eta").item(0).getTextContent();
System.out.println("Nome: " + nome); System.out.println("Età : " + eta); } } } catch (Exception e) { e.printStackTrace(); } }}
Esercizio 8: Creazione di un XML
Creare una stringa XML a partire da valori Java utilizzando la libreria `javax.xml.parsers` e `org.w3c.dom`.
import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;import org.w3c.dom.Element;
public class CreazioneXml { public static void main(String[] args) { try { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("persone"); doc.appendChild(rootElement);
Element persona1 = doc.createElement("persona"); rootElement.appendChild(persona1);
Element nome1 = doc.createElement("nome"); nome1.appendChild(doc.createTextNode("Mario")); persona1.appendChild(nome1);
Element eta1 = doc.createElement("eta"); eta1.appendChild(doc.createTextNode("30")); persona1
.appendChild(eta1);
Element persona2 = doc.createElement("persona"); rootElement.appendChild(persona2);
Element nome2 = doc.createElement("nome"); nome2.appendChild(doc.createTextNode("Luca")); persona2.appendChild(nome2);
Element eta2 = doc.createElement("eta"); eta2.appendChild(doc.createTextNode("25")); persona2.appendChild(eta2);
TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(System.out); transformer.transform(source, result); } catch (ParserConfigurationException | TransformerException e) { e.printStackTrace(); } }}
Esercizio 9: Lettura di un File XML
Leggere un file XML e stampare i valori utilizzando la libreria `javax.xml.parsers`.
import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import java.io.File;
public class LetturaFileXml { public static void main(String[] args) { try { File inputFile = new File("data.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(inputFile); doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("persona");
for (int temp = 0; temp < nList.getLength(); temp++) { Node nNode = nList.item(temp); if (nNode.getNodeType() == Node.ELEMENT_NODE) { Element eElement = (Element) nNode; System.out.println("Nome: " + eElement.getElementsByTagName("nome").item(0).getTextContent()); System.out.println("Età : " + eElement.getElementsByTagName("eta").item(0).getTextContent()); } } } catch (Exception e) { e.printStackTrace(); } }}
Esercizio 10: Scrittura di un File XML
Creare e scrivere un file XML utilizzando la libreria `javax.xml.parsers` e `javax.xml.transform`.
import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;import org.w3c.dom.Element;
import java.io.File;
public class ScritturaFileXml { public static void main(String[] args) { try { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("persone"); doc.appendChild(rootElement);
Element persona1 = doc.createElement("persona"); rootElement.appendChild(persona1);
Element nome1 = doc.createElement("nome"); nome1.appendChild(doc.createTextNode("Mario")); persona1.appendChild(nome1);
Element eta1 = doc.createElement("eta"); eta1.appendChild(doc.createTextNode("30")); persona1.appendChild(eta1);
Element persona2 = doc.createElement("persona"); rootElement.appendChild(persona2);
Element nome2 = doc.createElement("nome"); nome2.appendChild(doc.createTextNode("Luca")); persona2.appendChild(nome2);
Element eta2 = doc.createElement("eta"); eta2.appendChild(doc.createTextNode("25")); persona2.appendChild(eta2);
TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new File("output.xml")); transformer.transform(source, result);
System.out.println("File XML scritto con successo!"); } catch (ParserConfigurationException | TransformerException e) { e.printStackTrace(); } }}