Cómo leer un documento en esta vista

El documento que pegas a la izquierda se analiza mientras escribes y se dibuja a la derecha como un árbol coloreado: las claves, las cadenas, los números, true/false y null tienen cada uno su color, y todo objeto o array lleva un marcador que lo pliega a Object{…} o Array[n]. No hay botón de ejecución: los dos paneles se mantienen sincronizados mientras editas.

Todo ocurre en la pestaña: el texto lo analiza y lo dibuja JavaScript en el navegador y ninguna petición lo transporta. El texto que empieza por < y termina en > se trata como XML y se convierte antes.

  1. Pega o escribe JSON en el cuadro izquierdo. El panel derecho se reconstruye con cada tecla.
  2. Haz clic en un marcador para plegar un objeto o un array a Object{…} o Array[n]; al volver a pulsarlo se restaura la rama.
  3. Pulsa JSON compacto para ver el mismo documento en una sola línea, o Vista XML para ver una representación XML. El mismo botón devuelve el árbol.
  4. Pulsa Limpiar para vaciar los dos paneles. Una cadena que sea solo una dirección http:// o https:// se muestra como enlace.
  5. Si el texto no se analiza, el panel derecho indica la línea, la posición y el token que el analizador esperaba, y los botones de JSON compacto y Vista XML avisan de que no hay nada que mostrar en lugar de enseñar el documento anterior.

Qué hace esta vista con el documento

El árbol de la derecha

El árbol se construye a partir del documento analizado, no del texto: las claves conservan el orden del documento y los valores se colorean por tipo. Plegar sustituye una rama por su marcador, y el marcador de un array además indica cuántos elementos contiene.

Las cadenas que son una única dirección http:// o https:// sin espacios se convierten en enlaces. El marcado que aparezca dentro de una clave o de una cadena se imprime como texto y no se interpreta, así que un documento no puede inyectar elementos en la página.

Qué acepta el analizador y qué cambia

El analizador es JSON estricto: los comentarios, las comas finales, las claves entre comillas simples, NaN y los números con cero inicial se rechazan. Un documento rechazado se informa con el número de línea, un fragmento con un cursor bajo la posición y el token que el analizador esperaba.

Las claves duplicadas se quedan con el último valor. Los números se leen como números de JavaScript, y eso se nota en los extremos: los dígitos que superan los 15–16 dígitos significativos de un double se redondean (12345678901234567890 se muestra como 12345678901234567000), 1e21 se muestra como 1e+21, y un valor fuera del rango de un double, como 1e400, aparece como Infinity en el árbol y como null en la vista compacta, porque esa vista es la salida de JSON.stringify.

XML de entrada y de salida

El XML se convierte con las convenciones propias de la herramienta: los atributos pasan a claves @nombre, los elementos hermanos repetidos pasan a arrays, CDATA pasa a texto y la declaración y los comentarios se descartan. Un elemento que contiene texto y elementos hijos conserva los hijos y coloca el texto que los rodea en una clave #text.

La vista XML vuelve a escribir el documento actual como XML. El texto y los valores de atributo se escapan, los nombres que XML no admite se convierten en legales (un espacio o un dígito inicial pasan a guion bajo) y una clave #text se escribe como texto y no como etiqueta. El resultado es texto de solo lectura que puedes seleccionar y copiar.

Tamaño y límites

La página no fija ningún límite de tamaño, pero el árbol es marcado real, así que un documento muy grande pesa: una muestra de 1,1 MB produjo unos 25 MB de marcado y tardó cerca de un segundo. Unas pocas miles de líneas siguen respondiendo bien: volver a dibujar un documento de 300 filas con cada tecla tardó entre 6 y 15 ms en Chrome después de la primera pasada.

No se guarda nada: al recargar vuelve la muestra del cuadro izquierdo y Limpiar vacía los dos paneles.

Herramientas recientes: