Todas las herramientas de este sitio funcionan en tu navegador. No hay subida, ni cuenta, ni un servidor que vea tu JSON. Esta entrada explica como se consigue, como comprobarlo tu mismo en lugar de creerlo, y que cosas no hacen las herramientas a proposito.
Que pasa cuando pegas algo
Al abrir la pagina de una herramienta, tu navegador descarga un documento HTML y un archivo pequeno de JavaScript. Eso es toda la herramienta. Cuando pegas un documento y pulsas un boton, el analisis y la impresion ocurren dentro de la pestana y el resultado se escribe de vuelta en la pagina. Nada se envia a ningun sitio, porque no hay a donde enviarlo: el sitio no tiene servidor para los datos de las herramientas.
Eso significa tambien que nada se guarda. Cierras la pestana y el documento desaparece. No hay historial que borrar, ni cuenta que eliminar. El sitio si recuerda dos valores en tu navegador, tu tema y tu respuesta al aviso de cookies, y ambos se quedan en tu dispositivo.
Compruebalo en medio minuto
Una promesa de privacidad que no puedes verificar es solo una frase. Esta se comprueba en treinta segundos:
- Abre cualquier herramienta, por ejemplo el formateador.
- Abre las herramientas de desarrollo de tu navegador y ve a la pestana Red.
- Limpia la lista, pega algo de JSON y pulsa Formatear.
No aparece nada nuevo en la lista, porque no se hace ninguna peticion. Compara eso con una herramienta que envia lo que pegas a un servidor: lo veras al instante en ese mismo panel.
Hay una excepcion deliberada y esta en otra pagina: el formulario de contacto si envia lo que escribes en el, porque un mensaje que se queda en tu navegador no es un mensaje.
El proyecto tambien lo comprueba solo. La bateria de pruebas de extremo a extremo pega un marcador unico en cada herramienta, la ejecuta, y falla la compilacion si ese marcador aparece en alguna peticion. Esa prueba corre en cada compilacion, asi que la promesa no puede caducar en silencio la proxima vez que alguien anada una funcion.
Por que las herramientas leen tokens en vez de analizar
La mayoria de los formateadores en linea hacen por dentro algo asi:
JSON.stringify(JSON.parse(input), null, 2)
Parece inofensivo y corrompe los datos de dos formas concretas.
Los enteros largos pierden precision. Los numeros de JavaScript son dobles,
asi que un entero de mas de dieciseis digitos no cabe exacto. Pega
{"id": 12345678901234567890} en un formateador hecho asi y te devuelve
12345678901234567000. Sin ningun aviso.
Las claves que parecen numeros se reordenan. Los objetos de JavaScript
colocan las claves enteras en orden numerico y antes que las demas. Asi que
{"2": "silver", "1": "gold"} vuelve como {"1": "gold", "2": "silver"}, y ese
orden importa mas a menudo de lo que parece en un archivo de configuracion.
Las herramientas de aqui nunca construyen un valor de JavaScript a partir de tu documento. Lo dividen en tokens, conservan el texto exacto de cada uno y vuelven a imprimir el flujo con otros espacios. Tu documento regresa byte a byte tal como lo escribiste, con la unica diferencia del espaciado. Hay pruebas unitarias que fijan los dos casos, de modo que una refactorizacion futura no puede reintroducirlos.
Que no hace este sitio
Algunos estandares estan implementados solo en parte. El probador de JSONPath admite los selectores que se usan de verdad y los enumera en la propia pagina. Faltan las extensiones de funcion y algunos rincones de la RFC 9535, y usarlos produce un mensaje que nombra la funcion en vez de un fallo vago. Con JSON Pointer pasa lo contrario: la RFC 6901 son cuatro paginas, asi que esta entera.
Reparar puede cambiar tus datos. NaN, Infinity y undefined no existen en
JSON, asi que la herramienta de reparacion los convierte en
null y lista esos cambios aparte de los de puntuacion. Lee esa lista en vez de
confiar en la salida.
Los documentos muy grandes se degradan a proposito. Por encima de unos doscientos mil caracteres se desactiva el coloreado de sintaxis para que escribir siga siendo fluido, y la pagina lo dice cuando ocurre. El visor dibuja cada rama solo al abrirla, y pasados unos miles de valores se niega a expandirlo todo de golpe en lugar de bloquear la pestana durante un minuto.
Por donde empezar
Si llegas con un documento roto, el validador te dira que falla y la reparacion arreglara la parte mecanica. Si llegas con un documento que funciona pero no entiendes, el visor es la via mas rapida. Todo lo demas esta en la pagina de herramientas.