Tengo una cadena JSON muy grande que necesito analizar con JavaScript en el navegador. En este momento, en algunos navegadores, me quedo sin espacio en la pila. Lamentablemente, mi JSON puede contener cadenas de usuario, por lo que no puedo usar eval o dejar que el navegador lo analice.JavaScript no recursivo Analizador JSON
He visto algunos de los analizadores JSON estándar de JavaScript, y son recursivos. Preguntándose si alguien sabe de algún analizador JSON que sea seguro y no recursivo. Estaría dispuesto a que tenga menos funciones. Solo tengo una gran variedad de objetos.
Alternativamente, si alguien sabe de uno que podría ser fácil de modificar, sería una gran ayuda también.
EDITAR: Al realizar una inspección más cercana, eval() utiliza el desbordamiento de pila utilizado dentro del analizador. Por lo tanto, debe ser recursivo.
Bien, recursivamente codificado o no, el análisis de una estructura profundamente anidada prácticamente tiene que pasar por el mismo proceso. ¿Estás seguro de que la estructura es realmente válida? ¿Qué tan grande es "muy grande"? – Pointy
Es legal, es una matriz de algunos miles de objetos. Cuando llega a un determinado tamaño, eval() no puede analizarlo (bueno, IE puede, pero otros navegadores no pueden) –
@Pointy sí, pasaría por el mismo proceso, pero no necesita usar el pila, que podría quedarse sin espacio.Presumiblemente, uno no recursivo construye alguna otra estructura de datos equivalente en el montón (que es más grande, con suerte) –