Domanda

Duplica: Serializzazione su JSON in jQuery

Sembra che ci sia un serializzatore / deserializzatore JSON integrato in jQuery, poiché è in grado di implementare cose come .getJSON. È possibile utilizzare lo stesso processore JSON jQuery integrato come processore JSON generico (ovvero effettuare una chiamata jQuery.something () per serializzare / deserializzare i miei dati), eliminando la necessità di una libreria JSON separata?

Aggiornamento: le risposte alla domanda sopra citata dicono che non esiste un codice di serializzazione JSON in jQuery. Che ne dici di deserializzazione JSON? Come viene implementato .getJSON e perché la capacità di deserializzazione non è esposta per uso generale?

Aggiornamento2: sto già usando json2 da json.org, sto provando a liberarmene poiché tutto ciò che sto facendo è una semplice deserializzazione. Sembra che jquery stia davvero facendo solo valutazione? Ho avuto l'impressione che non era così buona per la sicurezza :

  

La funzione eval è molto veloce.   Tuttavia, può compilare ed eseguire   qualsiasi programma JavaScript, quindi è possibile   essere problemi di sicurezza

È stato utile?

Soluzione

jQuery per ora usa solo eval (). jQuery 1.4 includerà il supporto per la deserializzazione JSON nativa del browser nei browser che la supportano. Puoi approfittarne ora se vuoi, < utilizzando il callback dataFilter di jQuery per evitare eval () quando possibile (inseriscilo in $ .ajaxSetup per influenzare automaticamente tutte le chiamate $ .ajax (), $ .post (), $ .getJSON ()).

Altri suggerimenti

Sembra che ciò di cui hai bisogno sia l'implementazione serializzata / deserializzata disponibile su http: //www.json. org / js.html che fornisce JSON.parse () e JSON.stringify (), facilitando (de) serializzare e validare i dati.

Se vuoi semplicemente tradurre un testo JSON in un oggetto, usa la funzione eval ().

Ho appena iniziato a utilizzare jQuery e trovo che sia più semplice rilasciare la libreria JSON2.js da JSON.org in, quindi estendere jQuery per usarla.

Credo di deserializzare i dati json in arrivo jQuery lo eval (). Non conosco nessuna serializzazione integrata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top