JSON vs XML: chi scegliere?
JSON (Javascript Object Notation) e XML (Extended markup language), entrambi, più che linguaggi, sono stili di formattazione. Formati di scambio per le informazioni.
A cosa servono?
Questi stili di formattazione standard, garantiscono interoperabilità fra linguaggi, piattaforme e tecnologie di sviluppo diverse. Sono molto utilizzati come formati per le API. Contribuiscono alla definizione di web semantico. Non è la prima volta che parliamo di web semantico. L’importanza di formattare e strutturare i dati, con tag precisi che identifichino meglio la risorsa, ha un’importanza estrema per l’organizzazione delle informazioni, e i grandi Big dell’informatica puntano molto su questo.
Quali sono i vantaggi di XML?
E’ un formato migliore di scambio per i documenti strutturati. Essendo appunto un linguaggio di markup. Al contrario, JSON non fornisce alcun tipo di documento consultabile, non essendo un linguaggio di markup. XML è perciò più facile da capire per l’uomo. Questo lo rende utile laddove c’è necessità di avere file di configurazione facilmente editabili.
Quali sono i vantaggi di JSON?
Viene processato molto più facilmente perchè strutturato diversamente dall’xml. E’ inoltre supportato da una grandissima moltitudine di linguaggi e rappresenta un miglior formato di scambio per i dati piuttosto che per i documenti in se. Non è quindi molto pratica la lettura dalla prospettiva dell’uomo, i computer invece lo processano con facilità.
Un esempio di utilizzo di JSON con Javascript:
JSON.parse('{"nome":"Rocco"}'); |
Qual è la differenza?
Entrambi sono studiati per garantire un modo standard per la descrizione di differenti tipi di dati, e quindi strutturarli. Sono inoltre studiati per facilitare il trasporto in modo standard.
In quanto a velocità, in entrambi i casi, il fattore tempo è determinato dal tempo di parsing. E questo dipende dalle librerie e dalle infrastrutture usate per effettuare il parse.
Guardiamo un esempio della loro sintassi:
# JSON
{ "impiegati": [ { "nome": "Tony Stark", "genere": "M" }, { "nome": "Bruce Wayne", "genere": "M" } ] } |
# XML
<impiegati> <impiegato> <nome>Tony Stark</nome> <genere>M</genere> </impiegato> <impiegato> <nome>Bruce Wayne</nome> <genere>M</genere> </impiegato> </impiegati> |
XML essendo anche un linguaggio di markup è utilizzabile per la descrizione di documenti. Gli elementi gerarchici possono anche avere attributi, questo non è possibile su JSON.
JSON ha una sintassi concisa per definire liste di elementi. Questo lo rende preferibile quando si ha a che fare con la serializzazione testuale di oggetti.
Un’altra differenze fra i due, sta nella rigorosità di sintassi che contraddistingue JSON, alcuni errori comuni nell’uso di JSON possono infatti essere:
<?php // Le stringhe seguenti sono javascript valido, ma non valido JSON // Il nome e il valore devono essere inclusi fra doppi apici // l'apice singolo non è permesso $bad_json = "{ 'zeus': 'zeus' }"; json_decode($bad_json); // null // Il nome dev'essere incluso fra doppi apici $bad_json = '{ zeus: "zeus" }'; json_decode($bad_json); // null // Non sono ammesse virgole finali $bad_json = '{ zeus: "zeus", }'; json_decode($bad_json); // null ?> |
Commenti