2010-06-02 8 views
5

Ora che molte persone sembrano muoversi verso JSON per la comunicazione web, mi chiedo perché XML dovrebbe continuare ad essere utilizzato.C'è ancora spazio per XML in futuro?

Apprezzo che XML abbia molti anni su JSON, durante i quali è stato ampiamente adottato. Tuttavia, il fatto che sia così ben adottato sembra essere l'unico motivo decisivo per cui dovrebbe continuare ad essere utilizzato.

C'è una buona ragione per cui XML non dovrebbe essere gradualmente eliminato a favore di JSON?

+13

JSON non è * un sostituto per XML, è solo un'alternativa notevolmente semplificata. C'è più di XML di AJAX. – skaffman

risposta

12

Nota che JSON (JavaScript Object Notation) è un formato di scambio di dati leggero, mentre XML (Extensible Markup Language) è una serie di regole per la codifica documenti in formato elettronico.

XML, quindi, è non un formato ma un "protocollo" per codificare diversi formati: XSLT, RSS, SOAP, RDF/XML e XHTML, solo per citarne alcuni. Ultimamente, JSON è diventato più popolare come formato di scambio principalmente nei servizi web, ma lo scopo dell'XML è molto più ampio di quello. Direi inoltre che il ruolo di XML è fondamentale nello sviluppo di semantic web.

+0

Mi piace il termine "protocollo" - trovo sempre scomodo distinguere tra il linguaggio di "sfondo" di XML ben formato rispetto al linguaggio "in primo piano" definito da uno schema rispetto al quale XML può essere ben formato. – 13ren

1

Gli attuali principali fornitori di RDBMS favoriscono l'integrazione di documenti XML nei loro prodotti: Oracle, MS SQL.

Quale linguaggio di query hai per JSON? c'è supporto dai linguaggi di programmazione per l'interrogazione e la creazione di documenti XML, come DOM/SAX, da Linq a XML e così via? Immagino di no ... quindi XML sarà ancora presente per un po '.

5

Esistono alcuni tipi di struttura dati che JSON non può rappresentare in modo semplice. Ad esempio, come tradurre questo XML in JSON?

<p>This is a paragraph where <b>only some</b> of 
the text is bold and some <i>is italic</i></p> 

Probabilmente è possibile farlo, ma non sarà così semplice come la rappresentazione XML. JSON è ideale per rappresentare i dati gerarchici. XML, al contrario, è abbastanza adatto per rappresentare documenti.

Quindi per dati come quello (tosse pagine Web) XML è una soluzione migliore, e penso che continuerà ad essere ampiamente utilizzato.

2

Immagino che tu stia dimenticando che XML non è solo utilizzato per il web, puoi LOG processi con XML, creare file di configurazione, trasferire dati e fare un sacco di altre cose. Quindi no, JSON non sostituirà assolutamente l'XML.

4

XML è un formato molto più potente di JSON. È molto semplice convalidare l'XML utilizzando lo schema, trasformare XML in diversi formati usando XSLT, interrogare XML usando XPath. ecc.

In molti casi non è necessaria tutta questa funzionalità. In questo caso, JSON è la scelta migliore perché è più leggera, offre una migliore leggibilità ed è più compatta. Ma ci sono molti casi in cui XML è una buona idea.

+0

È interessante notare che le persone stanno iniziando ad aggiungere la convalida e il supporto dello schema a JSON. http://json-schema.org/ è un esempio. –

+0

Interessante! Grazie per questo link. – Mendelt

2

La ragione principale per imho sarebbe l'utilizzo di XML da parte di ENTERPRISE. Sebbene grands come Google abbiano adottato JSON, altri come Oracle, Microsoft preferiscono XML e XML affondano le proprie radici in profondità dove fluiscono le transazioni monetarie, quella radice non sarà facilmente modificata. Un'altra cosa è nel nome - Java Script Object Notation Per utilizzare efficacemente json sul lato client È necessario incorporarlo (se lo si incorpora in HTML, ci sono problemi di sicurezza Devi indirizzare: link text), o convertire in un altro formato, mentre XML può essere facilmente rappresentato dai mezzi di oggi senza javascript.

1

Penso che JSON sarà la sostituzione di XML. E non solo Javascript, ma tutte le lingue popolari supporteranno JSON in modo nativo. In tal caso, pensa a sostituzioni XSLT/XPATH di JSON. Qualcuno lo farà presto.

Problemi correlati