El formato de columna JSON no se muestra: causa raíz y solución
🔍 WiseChecker

El formato de columna JSON no se muestra: causa raíz y solución

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.

ADVERTISEMENT

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

  1. 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.
  2. 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.
  3. 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 de elmType son div, span, a, img, button y svg. Elimina cualquier atributo personalizado como data- que no esté explícitamente listado en la documentación de Microsoft. También elimina cualquier evento onclick o onmouseover.
  4. 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.

  5. 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 palabra SPColumnFormatter o JSON. El mensaje de error te dirá el número de línea exacto donde falló el analizador.
  6. 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.

ADVERTISEMENT

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.

ADVERTISEMENT