Confronto con il formato XML

Un altro formato molto usato per lo scambio di dati è l'XML, anche se i due formati hanno campi di azione un po' diversi.

XML è l'acronimo di eXtensible Markup Language, ed è un metalinguaggio che serve sia per creare linguaggi di markup, sia per trasmettere dati.

Noi ci occuperemo solo di questo secondo uso, per confrontarlo con JSON.

Un esempio di XML valido è il seguente:

<?xml version="1.0" encoding="UTF-8" ?>
<root>
    <studenti>
        <studente>
            <nome>Maria</nome>
            <cognome>Rossi</cognome>
            <eta>18</eta>
        </studente>
        <studente>
            <nome>Marco</nome>
            <cognome>Neri</cognome>
            <eta>17</eta>
        </studente>
    </studenti>
</root>

L'equivalente in JSON ha il seguente formato:

{"studente":[
  { "nome":"Maria", "cognome":"Rossi", "eta":18 },
  { "nome":"Marco", "cognome":"Neri", "eta":17 }
]}

Come si può facilmente vedere, il formato JSON è molto più compatto e c'è una netta distinzione sintattica tra tipi di dati, come ad esempio l'array o il numero. In XML, infatti, non c'è una sintassi specifica per dire che studenti è un array o eta è un numero. Per aggiungere queste informazioni è necessario aggiungere degli attributi o definire un ulteriore file, detto schema.

È possibile passare da XML e JSON in modo più o meno automatico usando dei convertitori, ad esempio questo.

Somiglianze tra XML e JSON

  • entrambi sono gerarchici
  • entrambi sono leggibili da essere umano
  • entrambi sono facilmente interpretabili da una macchina (parsing)
  • entrambi sono standard web che possono essere usati in JavaScript

Differenze tra XML e JSON

  • JSON non ha bisogno di tag di chiusura
  • JSON usa meno caratteri
  • JSON è più veloce da leggere e scrivere su JavaScript
  • JSON può usare gli array
  • XML ha la possibilità di specificare proprietà attraverso attributi e schemi
  • XML può essere usato per creare nuovi linguaggi di markup

Nota: se necessario, in realtà anche JSON ha la possibilità di definire dei propri schemi usando i JSON Schema

Uso di XML

Sebbene sul web ormai si usi quasi esclusivamente il formato JSON, uno dei casi in cui vengono molto usati gli schemi XML è nello sviluppo Android, in cui tutte le pagine di un'applicazione sono definite tramite XML.

Nota: nonostante la somiglianza sintattica, HTML non è un istanza di uno schema XML.