Formatear, minificar y validar
Formatear indenta el JSON para que una persona pueda leer su estructura; minificar quita todos los espacios opcionales para reducir el tamaño de transferencia. Solo cambia la presentación: los datos son idénticos en ambos casos, así que pasar de uno a otro nunca altera un valor.
La validación intenta analizar el texto e informa de si lo consiguió. Si falla, indica además dónde se detuvo el analizador, que no es donde empezó el error sino donde le resultó imposible seguir. La causa real suele estar un poco antes en el texto.
El ancho de la indentación es cuestión de gusto y de convención del equipo. Dos espacios ahorran espacio horizontal en datos muy anidados, cuatro hacen la estructura más fácil de recorrer con la vista, y cero deja solo saltos de línea, lo que va bien para leer una entrada cada vez.
Por qué el JSON suele fallar al analizarse
Una coma sobrante después de la última entrada es la causa más común. Los literales de objeto de JavaScript la permiten y el estándar JSON no, y es fácil dejarla al borrar una entrada. Mira primero justo antes de cada corchete de cierre.
Las comillas simples no son JSON válido. Tanto las claves como los valores de texto necesitan comillas dobles, y la costumbre de JavaScript de dejar las claves sin comillas no se traslada. Esto muerde sobre todo cuando se copia un fragmento directamente del código fuente.
Los comentarios tampoco forman parte del estándar. Los comentarios de doble barra habituales en los archivos de configuración solo los admiten extensiones como JSON5 o JSONC, así que un analizador estándar necesita que se quiten. NaN, Infinity y undefined tampoco tienen representación.