2010-04-09 5 views
6

Deseo obtener, a través de ajax, una colección de objetos de datos y analizarlos en datos JS.¿Qué es más rápido para analizar muchos datos (5Mb): eval o json?

Actualmente tengo 2 opciones: - El servidor devuelve un código JavaScript válido y luego lo evalúo. - El servidor devuelve el objeto JSON y luego evalúo el objeto json

¿Cuál es el más rápido de estos en Firefox? (Solo me importa el rendimiento del "análisis", no el servidor o la transferencia de datos)

Respuesta

7

Mire en the results VinylFox came up con cuando probó la decodificación JSON en la naturaleza. Las funciones nativas se desempeñaron mejor en todos los navegadores.

+0

¿Alguien sabe de una comparación más actualizada que también considere simplemente cargar javascript (por ejemplo, a través de una etiqueta de script o, efectivamente, requerir o equivalente?) – podperson

3

En Firefox 3.5+ hay una función de análisis json nativo window.JSON.parse - este probablemente sea el más rápido. En navegadores más antiguos, puede tener mejor suerte con (new Function("return "+json))()

+0

Chrome también tiene un analizador JSON nativo (misma API). –

+1

La mayoría de los navegadores modernos sí, solo respondía "¿Cuál es el más rápido de estos en la pregunta de Firefox?", Pero sí, la mayoría de los navegadores nuevos tienen esto. Puede probar con 'if (JSON && JSON.parse) {}' –

Cuestiones relacionadas