Aplicaste formato de columna JSON a una columna de lista o biblioteca de SharePoint, pero el formato no aparece. La columna muestra texto sin formato o valores predeterminados en lugar de la salida estilizada que diseñaste. Este problema ocurre porque SharePoint deshabilita el formato personalizado cuando detecta un error de sintaxis, una propiedad no admitida o una restricción de seguridad en el código JSON. Este artículo explica las tres causas principales del fallo del formato JSON y te ofrece soluciones paso a paso para cada una.
Conclusiones clave: El formato de columna JSON no se muestra
- Configuración de columna de lista o biblioteca de SharePoint > Formatear esta columna: Abre el editor JSON donde pegas y aplicas el código de formato.
- Pestaña Consola de las Herramientas de desarrollo F12: Muestra el mensaje de error de sintaxis JSON exacto que impide la representación.
- Validador JSON como jsonlint.com: Detecta comas, corchetes o comillas faltantes antes de pegar el código en SharePoint.
Por qué el formato de columna JSON no se muestra
SharePoint utiliza un esquema JSON restringido para el formato de columnas. El esquema permite solo un conjunto predefinido de propiedades como elmType, txtContent, attributes y style. Si tu JSON incluye una propiedad que SharePoint no reconoce, todo el bloque de formato se ignora.
La segunda causa común es un error de sintaxis. Una coma faltante entre dos objetos, un corchete adicional o una comilla sin cerrar harán que el analizador JSON falle silenciosamente. SharePoint no muestra un error emergente para problemas de sintaxis. En su lugar, la columna vuelve a su estado sin formato.
La tercera causa es una restricción de política de seguridad de contenido. SharePoint bloquea JavaScript en línea en el formato JSON desde 2021. Si tu código de formato contiene eventos "onclick" o "onhover" que llaman funciones de JavaScript, SharePoint elimina esos eventos y no muestra el formato en absoluto.
Pasos para diagnosticar y solucionar el formato de columna JSON
- Abre el panel de formato de columna
Ve a la lista o biblioteca de SharePoint. Haz clic en el icono de engranaje y selecciona Configuración de lista. Encuentra la columna que no se muestra y haz clic en su nombre. En la página de configuración de la columna, desplázate hacia abajo hasta Formatear esta columna y haz clic en él. - Verifica si hay errores de sintaxis en el JSON
Copia todo el código JSON del panel de formato. Pégalo en un validador JSON como jsonlint.com. Haz clic en Validar JSON. Si el validador muestra un error, corrige la línea que indica. Las correcciones comunes incluyen agregar una coma faltante después de una llave de cierre o eliminar una coma final antes de un corchete de cierre. - Elimina propiedades no admitidas
Revisa el JSON en busca de propiedades que no formen parte del esquema de formato de columna de SharePoint. Los únicos valores válidos deelmTypesondiv,span,a,img,buttonysvg. Elimina cualquier atributo personalizado comodata-que no esté explícitamente listado en la documentación de Microsoft. También elimina cualquier eventoonclickoonmouseover. - Prueba con una plantilla JSON mínima
Reemplaza todo tu JSON con esta plantilla mínima para confirmar que el formato funciona en absoluto:{"$schema":"https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json","elmType":"div","txtContent":"@currentField"}Haz clic en Vista previa. Si la columna ahora muestra el valor del campo, el problema está en tu estructura JSON original.
- Usa las herramientas de desarrollo del navegador para encontrar errores
Presiona F12 para abrir las Herramientas de desarrollo. Ve a la pestaña Consola. Recarga la página. Busca mensajes de error en rojo que contengan la palabraSPColumnFormatteroJSON. El mensaje de error te dirá el número de línea exacto donde falló el analizador. - Reaplica el formato después de corregir el JSON
Una vez que hayas corregido el JSON, pega el código corregido de nuevo en el panel Formatear esta columna. Haz clic en Guardar. Actualiza la página de la lista para verificar que el formato aparezca.
Si el formato JSON aún no se muestra
El formato de columna funciona para algunos usuarios pero no para otros
El formato de columna de SharePoint es a nivel de vista. Si un usuario no tiene al menos permisos de lectura en la lista, el formato no se mostrará. Verifica el nivel de permisos del usuario en la página de permisos de la lista o biblioteca. También confirma que el usuario no esté viendo la lista en un navegador que bloquee el formato JSON, como la aplicación móvil de SharePoint sin la última actualización.
El formato aparece en la vista previa pero no en la vista de lista
Esto sucede cuando el JSON contiene una referencia a un campo que no existe en la vista actual. Por ejemplo, si tu formato usa [$SomeField] pero SomeField no está agregado a la vista, el formato no se mostrará. Agrega el campo referenciado a la vista editando la vista actual y seleccionando esa columna.
El formato dejó de funcionar después de una actualización de SharePoint
Microsoft ocasionalmente deja de admitir propiedades en el esquema de formato de columnas. Si tu formato funcionaba antes y dejó de funcionar después de una actualización del inquilino, consulta la hoja de ruta de Microsoft 365 para ver cambios en el formato de listas. La propiedad más comúnmente en desuso es "onclick". Reemplaza cualquier acción de clic con la propiedad admitida "action" usando los tipos de acción "executeFlow" o "setValue".
El formato JSON hace que la página cargue lentamente
Un JSON complejo con muchos elementos "children" anidados o bloques "style" grandes puede degradar el rendimiento de la página. SharePoint limita el tamaño total del JSON de formato de columna a 100 KB. Si tu JSON excede este límite, trúncalo eliminando declaraciones de estilo innecesarias o simplificando la estructura anidada.
| Problema | Error de sintaxis | Propiedad no admitida | Restricción de seguridad |
|---|---|---|---|
| Causa | Falta una coma, corchete o comilla en el JSON | Propiedad no incluida en el esquema de formato de columna de SharePoint | Evento de JavaScript en línea como onclick |
| Cómo detectar | Validador JSON o mensaje de error en la consola F12 | Compara el JSON con la documentación del esquema | Busca onclick, onmouseover o onchange |
| Solución | Corrige la sintaxis en la línea reportada | Elimina la propiedad no admitida o reemplázala por una válida | Reemplázala con la propiedad de acción de SharePoint o elimina el evento |
| Prevención | Usa un linter JSON antes de pegar | Consulta siempre el esquema más reciente de Microsoft | No uses eventos de JavaScript en el formato |
Ahora puedes identificar por qué el formato de columna JSON no se muestra y aplicar la solución correcta. Comienza validando la sintaxis de tu JSON con una herramienta externa y eliminando cualquier propiedad no admitida o JavaScript en línea. Para problemas persistentes, usa las herramientas de desarrollo del navegador para capturar el mensaje de error exacto del formateador de columnas de SharePoint.
Después de corregir el formato, prueba la columna en varias vistas de lista para confirmar que se muestra de manera consistente. Si necesitas interactividad avanzada, explora las extensiones de SharePoint Framework en lugar del formato de columnas. Un consejo avanzado es usar la propiedad "customAction" con un valor de "action" de "setValue" para actualizar otra columna cuando el usuario hace clic en el elemento formateado.