estoy haciendo unos cambios y empezando usar JSON y me sale este mensaje 3 veces seguidas. He pasado el JSON por un validador y me dice que es válido y la aplicación funciona bien.
He intentado poner paradas, pero no veo dónde se produce el problema.
Cito…
En Velneo, el mensaje de error “Error con JSON: valor ilegal” generalmente indica que el JSON que estás intentando procesar tiene un formato incorrecto o no cumple con la estructura esperada. Esto puede deberse a varios motivos:
Posibles causas
Estructura incorrecta del JSON:
Faltan llaves {} o corchetes [].
No están cerrados correctamente.
Uso incorrecto de comas , o dos puntos :.
Ejemplo incorrecto:
{ “nombre”: “Carlos”, “edad”: 30, }
La coma después de “30” es inválida.
Tipos de datos no válidos:
El JSON contiene valores que no son válidos, como undefined o funciones.
Por ejemplo, Velneo no aceptará esto:
{ "nombre": "Carlos", "edad": undefined }
Encoding del archivo:
Si el archivo JSON contiene caracteres no válidos (como caracteres especiales mal codificados), Velneo podría rechazarlo.
Datos fuera de la estructura JSON:
Si hay texto adicional fuera de la estructura JSON.
{ "nombre": "Carlos", "edad": 30 }
Texto extra aquí
Errores en cadenas:
Si las cadenas no están entrecomilladas con comillas dobles (").
Ejemplo incorrecto:
{ "nombre": 'Carlos' }
Velneo no puede interpretar el JSON correctamente:
Si el contenido del JSON no es compatible con la funcionalidad que estás utilizando en Velneo.
Soluciones
Validar el JSON:
Usa un validador en línea como https://jsonlint.com para asegurarte de que la estructura es válida.
Revisar el JSON manualmente:
Asegúrate de que:
Todas las llaves y corchetes estén cerrados.
Las cadenas estén entre comillas dobles (").
No haya comas finales.
Probar el JSON en Velneo:
Puedes intentar cargar el JSON en una variable con funciones de manejo de cadenas para verificar qué parte falla.
Capturar el error en Velneo:
Usa una instrucción de manejo de errores en tu código para identificar el punto exacto donde ocurre el problema.
gracias por tu respuesta, figaricarlos, como te indico en el texto el JSON ha pasado por un validador y es OK.
Os cuento cual es el problema.
El JSON se calculaba en el evento PRE-INI del AUTOEXEC y luego se leía en el evento POST-INI.
He descubierto que, a diferencia de otros objetos, en el AUTOEXEC el valor de las variables NO SE COMPARTE entre los eventos. Por eso cuando yo creía leer un JSON válido, en realidad estaba intentando leer una cadena vacía.
Es cierto que el subobjeto pre-inicialización tiene un comportamiento desconcertante, ni siquiera podemos depurar el código del Manejador de evento asociado.
Lo importante es que lo notifiques a Soporte para que lo documenten.