2009-06-17 17 views
7

Perché JSON? Ho fatto alcuni test oggi e il tempo richiesto per entrambi JSON, o una normale richiesta AJAX è stata la stessa. Nella "richiesta normale" ho restituito il testo completo + i tag html, nella richiesta JSON, ho restituito logicamente un "json return type" e ho creato l'HTML con JavaScript sul lato client.Devo usare JSON o AJAX per i dati di risposta?

Non capisco, perché i grandi siti (Google Reader ecc.) O anche i piccoli siti che utilizzano JSON? O non capisco quando dovrei usare JSON?

+0

Vedere [Quando utilizzare Ajax vs Json per eventi Javascript?] (Http://stackoverflow.com/questions/939211/when-to-use-ajax-vs-json-for-javascript-events) Quasi simile. – Kirtan

risposta

41

Forse sei un po 'confuso.

JSON e AJAX non sono una scelta.

JSON e XML è una scelta.

JSON e AJAX sono distinti e in gran parte non correlati, anche se AJAX utilizza spesso JSON, può facilmente utilizzare XML, HTML o testo normale.

Oppure ti stai riferendo alla X in AJAX (XML)? In tal caso, gli argomenti per JSON sono fondamentalmente:

  • JSON ha un payload inferiore rispetto all'equivalente XML; e
  • JSON è più facile da gestire in Javascript (confrontare la valutazione di un oggetto JSON con un frammento XML a piedi).

Oltre a questo, è in gran parte una preferenza personale.

+1

Oltre a ciò, json ti aiuta anche a eseguire il debug se usi firebug, dato che puoi semplicemente leggere i dati inviati avanti e indietro direttamente –

+0

http://izlooite.blogspot.com/2010/05/ajax-or-ajax-xml -vs-json.html –

13

JSON è solo un formato di interscambio dati. Descrive in che modo i dati vengono rappresentati durante la trasmissione. Non puoi sostituire Ajax con JSON.

Ajax sta per Asynchronous JavaScript e XML, ma quando si utilizza JSON si potrebbe dire che si sta utilizzando AJAJ (Asynchronous JavaScript e JSON).

Forse stai pensando ai metodi jQuery $.getJSON() e $.get()?

La differenza è che $.getJSON() assume automaticamente che si tratta di dati JSON, mentre $.get() recupererà i dati semplicemente come testo normale.

Quando si utilizza $.getJSON() è anche possibile recuperare i dati tra domini.

+3

Mi piace pensare a AJAX come a un asincrono JavaScript e X, dove X è un formato endodino. –

+0

-1: JSON non descrive il modo in cui i dati vengono trasferiti in alcun modo. JSON descrive il modo in cui i dati vengono rappresentati durante il trasferimento. –

+0

(Inoltre, il bit su "AJAJ" è un'aringa rossa completa, poiché nessuno ha mai usato questo termine nella storia della realtà.) –

Problemi correlati