Diferencia de JSON Schema
Compara dos JSON Schema y mira exactamente que cambio, con cada cambio marcado como disruptivo o no.
Schema anterior
El coloreado de sintaxis esta desactivado en este documento porque recolorear algo tan grande en cada pulsacion ralentizaria la escritura. Todas las herramientas siguen funcionando con normalidad.
Schema nuevo
El coloreado de sintaxis esta desactivado en este documento porque recolorear algo tan grande en cada pulsacion ralentizaria la escritura. Todas las herramientas siguen funcionando con normalidad.
Cambios
Pega dos schemas y pulsa Comparar.
Ningun cambio coincide con este filtro.
Funciona por completo en tu navegador. Nada de lo que pegas se sube, y puedes comprobarlo en la pestana Red de tu navegador.
Sobre esta herramienta
Esta no es la herramienta JSON Diff: esa compara dos documentos por su valor. Esta compara dos schemas por lo que aceptarian, asi que cada cambio tambien dice si es disruptivo, es decir, si un documento que cumplia el schema anterior podria ahora fallar con el nuevo. Una propiedad agregada al schema no es disruptiva por si sola, ya que los datos existentes simplemente aun no la tienen; una propiedad quitada es disruptiva solo cuando el schema nuevo tambien pone additionalProperties en false, porque solo entonces llevar esa propiedad se vuelve un rechazo. Un campo que se vuelve obligatorio es disruptivo, ya que los datos existentes pueden no tenerlo; un campo que deja de ser obligatorio no lo es. Un tipo que se estrecha, como pasar de number a integer, es disruptivo; un tipo que se ensancha, como integer a number, no lo es, y esa es la unica relacion de subtipo que esta herramienta conoce entre los tipos primitivos de JSON Schema. Un valor de enum quitado es disruptivo, ya que los datos que lo usaban ahora fallan; un valor agregado no lo es. Un limite ajustado, un maximo mas bajo o un minimo mas alto, es disruptivo; uno relajado no lo es. Un cambio de pattern siempre se trata como disruptivo, ya que no se intenta comparar dos expresiones regulares para ver cual acepta mas, y tratar un efecto desconocido como seguro seria la eleccion equivocada por defecto. El subconjunto cubierto es deliberadamente el mismo que escribe el propio Generador de Schema del sitio y aplica el Validador de Schema: un additionalProperties con valor de schema, items en forma de tupla, los combinadores y $ref no se recorren.
Como se usa
- Pega el schema anterior en el panel izquierdo y el nuevo en el derecho, o carga el ejemplo.
- Pulsa Comparar.
- Lee primero los cambios disruptivos: la linea de resumen los cuenta aparte, y los chips de filtro aislan solo esas filas.