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

 
      
        Tony Stark
        M
      
      
        Bruce Wayne
        M
      
 

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: