En el mundo del desarrollo web moderno, JSON (JavaScript Object Notation) se ha convertido en un formato estándar para el intercambio de datos. Este tutorial explora cómo trabajar con JSON en Java, abarcando desde la ejecución de JavaScript en páginas web hasta el manejo de datos JSON en aplicaciones.
Ejecutar JavaScript en Páginas Web
Casi todas las páginas web utilizan JavaScript para crear efectos dinámicos, como animaciones, menús interactivos y reproducción de videos. Aunque generalmente no interactúas directamente con JavaScript al navegar, puedes controlarlo mediante atajos personalizados.
Al crear un atajo que contiene la acción "Ejecutar JavaScript en página web" y ejecutarlo desde Safari, puedes manipular el JavaScript de un sitio web. Estos atajos tienen múltiples aplicaciones, como:
- Obtener datos específicos de un sitio web e incorporarlos en tareas (ej., extraer horarios de clases y agregarlos a la app Calendario).
- Exportar datos de miembros de un grupo de redes sociales a una hoja de cálculo.
- Modificar una página web (ej., cambiar la fuente del texto o la velocidad de reproducción de un video).
Para ejecutar JavaScript desde un atajo, debes activar la configuración correspondiente. Por ejemplo, el atajo "Cambiar velocidad de video" utiliza la acción "Ejecutar JavaScript en página web" para modificar la velocidad de reproducción de un video en un sitio web. La variable "Velocidad" controla la velocidad de reproducción.
Para obtener información sobre cómo ejecutar atajos desde Safari, consulta la documentación específica de tu dispositivo (iPhone o iPad).
Resultado de "Ejecutar JavaScript en página web"
Para devolver datos, debes invocar el administrador de acciones completadas en JavaScript, por ejemplo, completion(result). Dado que JavaScript se usa generalmente con patrones asíncronos, la llamada es intencionalmente asíncrona, permitiéndote terminar la acción de manera asíncrona. Por ejemplo:
window.setTimeout(function() { completion(true); }, 1000);
El resultado de la acción "Ejecutar JavaScript en página web" puede ser cualquier tipo de dato JSON válido, incluyendo:
- Cadena
- Número
- Boolean (true o false)
- Arreglo (que contiene cualquier otro tipo JSON válido)
- Diccionario (que contiene cualquier otro tipo JSON válido)
- Nulo
- Sin definir
Atajos automáticamente codifica y decodifica tu valor devuelto para establecer la comunicación entre JavaScript y la app Atajos. No es necesario invocar JSON.stringify(result) antes de invocar al administrador de tareas completadas.
Como el valor devuelto es JSON, ciertos valores devueltos no funcionarán bien. Por ejemplo, una función o nodo no tendrá una representación codificada con JSON útil. En este caso, se recomienda crear un arreglo o diccionario que contenga los valores JSON compatibles que necesitas.
Nota: Un objeto en JavaScript es simplemente un diccionario, por lo que los objetos básicos se convierten correctamente a JSON.
Si no quieres devolver datos, puedes llamar a completion() sin un argumento, ya que undefined es una salida válida.
Las acciones JavaScript que usan funciones sincrónicas podrían no completarse dentro del límite de tiempo, tales como:
- window.alert()
- window.prompt()
- window.confirm()
Si tu JavaScript supera el límite de tiempo, el atajo no se completará y aparecerá un mensaje de error de finalización de JavaScript al ejecutar el atajo.
Manejo de Errores de Sintaxis y de Ejecución
Puedes usar cualquier sintaxis compatible en Safari para escribir JavaScript en la acción “Ejecutar JavaScript en página web”. La app Atajos te ayuda a detectar errores al realizar revisiones de sintaxis básicas antes de ejecutar el atajo desde la extensión de Safari.
El resaltado de sintaxis te ayuda a cerciorarte de que tu JavaScript sea válido. Si la sintaxis de tu script es válida, pero contiene un error de ejecución, la acción "Ejecutar JavaScript en página web" identifica y muestra las excepciones.
Trabajar con InterSystems IRIS y JSON
InterSystems IRIS es compatible tanto con herramientas open source y comerciales como con las de desarrollo propio para permitir la libertad de elegir su(s) modelo(s) de implementación y proveedores de la nube. REST proporciona una comunicación rápida y ligera para los servicios web y se utiliza habitualmente (con una carga útil JSON) para el desarrollo de aplicaciones móviles y web.
Ya sea que desees instalar aplicaciones en los sitios de los usuarios, alojar tus aplicaciones en una nube pública o privada, proporcionar software como servicio, multi-nube o en una arquitectura híbrida en las instalaciones / en la nube, InterSystems IRIS se compromete a hacer la tarea lo más sencilla posible.

