Un documento copiado de un archivo fuente JavaScript, una configuracion con comentarios, o un fixture editado a menudo es casi JSON: claves sin comillas, comillas simples, una coma final, tal vez un comentario explicando para que sirve un campo. Nada de eso es JSON valido, y arreglarlo a mano en un archivo grande es tedioso y facil de hacer mal.
Que arregla la herramienta de reparacion de JSON
Pega el documento quebrado y presiona Reparar. Maneja claves de objetos sin
comillas, cadenas con comillas simples, comas finales, comentarios (tanto //
como /* */), palabras clave con mayusculas/minusculas incorrectas como
True y NULL, y los valores JavaScript NaN, Infinity y undefined,
que no tienen equivalente en JSON y se convierten en null.
Por que enumera cada cambio en lugar de arreglar silenciosamente
La mayoria de herramientas de reparacion arreglan silenciosamente y devuelven un resultado, lo cual no te ensena nada y oculta los casos donde la reparacion no fue lo que realmente querias. Esta enumera cada cambio con su linea y columna, para que puedas verificar el resultado en lugar de confiar ciegamente. Pegando esto:
{
// account info
name: 'ana',
role: 'admin',
active: True,
meta: undefined,
}
y Reparar devuelve:
{ "name": "ana", "role": "admin", "active": true, "meta": null }
junto con una lista que nombra exactamente que paso: el comentario fue
eliminado, name y role recibieron comillas, ambas cadenas con comillas
simples se convirtieron en comillas dobles, True fue reemplazado por
true, undefined se convirtio en null, y la coma final fue eliminada.
Diez problemas, diez entradas numeradas por linea.
El cambio que se senala por separado
Eliminar un comentario o convertir el estilo de comillas cambia la ortografia
de tu documento, no su significado. Reemplazar undefined con null es
diferente: cambia lo que los datos realmente dicen, porque JSON no tiene
forma de expresar “esta clave existia sin valor.” La herramienta de
reparacion senala esa distincion en su propio mensaje en lugar de agruparla
con las correcciones de puntuacion, para que la notes en lugar de pasar
por alto.
Cuando no puede ayudar
Si un documento esta quebrado de una manera que no puede rescatarse, como un corchete que nunca se cierra, la herramienta lo indica y muestra el error restante en lugar de devolver algo que aun no se puede analizar. Una herramienta de reparacion que siempre devuelve exito en entradas irrecuperables es peor que una que admite que no pudo terminar.