2010-04-09 10 views
6

Voglio ottenere, tramite ajax, una raccolta di oggetti dati e analizzarli in dati JS.Cosa è più veloce per analizzare molti dati (5Mb): eval o json?

Attualmente ho 2 scelte: - Il server restituisce il codice javascript valido e quindi lo eval. - Il server restituisce l'oggetto JSON e quindi eval l'oggetto json

Qual è il più veloce di questi in Firefox? (Mi interessa solo la performance "parsing", non server o trasferimento dati)

risposta

7

Dai un'occhiata a the results VinylFox came up con quando ha testato la decodifica JSON in natura. Le funzioni native hanno ottenuto i risultati migliori su tutti i browser.

+0

Qualcuno sa di un confronto più aggiornato che considera anche semplicemente il caricamento di javascript (ad es. Tramite un tag script o, in modo efficace, richiede o equivalente?) – podperson

3

In Firefox 3.5+ è presente una funzione di parsing json nativa window.JSON.parse - probabilmente questa sarà la più veloce. Nei browser più vecchi, potresti avere più fortuna con (new Function("return "+json))()

+0

Chrome ha anche un parser JSON nativo (stessa API). –

+1

La maggior parte dei browser moderni, stavo solo rispondendo alla domanda "Qual è il più veloce di questi in Firefox", ma la maggior parte dei nuovi browser ha questo. Puoi testare con 'if (JSON && JSON.parse) {}' –

Problemi correlati