Formatear JSON
Formatear, validar y plegar JSON.
Desarrollo
Identificadores únicos, versiones 4 y 7.
Para un sistema nuevo es la única decisión que hay que tomar, y la 7 suele ser mejor.
La versión 4 es completamente aleatoria. Dos identificadores creados seguidos no guardan relación, y eso es justo lo que los hace desfavorables en una base de datos con índice sobre la clave: las filas nuevas caen en posiciones arbitrarias y fragmentan el índice.
La versión 7 empieza por una marca de tiempo en milisegundos seguida de aleatoriedad. Los identificadores recién creados van en orden, entran limpiamente al final del índice, y la propia clave indica el orden de creación.
La contrapartida de la 7 es que el momento de creación se deduce del identificador. Para la mayoría de los usos no molesta y a veces resulta cómodo; si expresamente no quieres revelarlo, usa la versión 4.
La pregunta que siempre aparece: ¿puede salir el mismo identificador dos veces?
En teoría sí, en la práctica no. Un UUID versión 4 tiene 122 bits aleatorios. El número de valores posibles es tal que habría que generar miles de millones por segundo durante años antes de que una colisión resulte plausible.
Los únicos riesgos reales son un generador aleatorio de mala calidad, o un sistema que trunque los identificadores a sus primeros caracteres. El segundo es más común de lo que parece: una vista abreviada no da problemas, pero guarda siempre el valor completo.
Este generador usa el generador aleatorio criptográfico del navegador, no el corriente. Esa es la diferencia entre realmente impredecible y «parece aleatorio».
Un UUID ocupa treinta y seis caracteres con los guiones. Guárdalo si puedes en un tipo propio o en dieciséis bytes en lugar de como texto: ahorra espacio y acelera las comparaciones.
Mayúsculas o minúsculas no cambian el valor; la norma prescribe minúsculas al escribirlo. Compara sin distinguir mayúsculas, o normaliza al guardar.
No uses un UUID como referencia que alguien deba dictar o teclear. Para un número de pedido o de cliente, un formato corto y legible es mejor; el UUID puede quedarse dentro.
Los identificadores se generan en tu navegador y no se guardan en ningún sitio.
La 7 si van a una base de datos: se ordenan por fecha de creación. La 4 si no quieres revelar ese momento.
En teoría sí, en la práctica no. El número de valores posibles es demasiado grande.
Para mostrarlo sí, para guardarlo no. Truncar hace reales las colisiones.
La norma prescribe minúsculas. Compara sin distinguir.
Sí, mediante el generador criptográfico del navegador.
No.