|
|
|
|
- Presentación
- JSON y WEBDEV
- Obtención de información en formato JSON
- Ejemplo de uso de la función JSONExecute
- Ejemplo de uso de la función JSONExecuteExternal
- Creación de páginas que devuelven datos de JSON
JSON (notación de objetos JavaScript) es un formato ligero para el intercambio de datos.. Basado en JavaScript, JSON es un formato de texto independiente de cualquier otro idioma. JSON se basa en dos estructuras: - un conjunto de parejas nombre/valor, interpretado en WLanguage por estructuras.
- una lista de valores organizados, interpretados en WLangage por arrays.
WEBDEV está acostumbrado a: - Información de get en formato JSON en un sitio WEBDEV.
- crear páginas WEBDEV que devuelvan información en formato JSON. Tiene la posibilidad de crear un sitio que ofrezca servicios de JSON (un sitio para monitorizar paquetes, por ejemplo).
Obtención de información en formato JSON A la información de get en formato JSON, WEBDEV le permite ejecutar una página que devuelve la información en formato JSON. Hay dos funciones de WLangage disponibles: | | JSONExecute | Llama a una URL del servidor del mismo dominio que devuelve datos en formato JSON (JavaScript Object Notation). | JSONExecuteExternal | Llama a una URL de un servidor externo que devuelve datos en formato JSON (JavaScript Object Notation).. Los datos se procesan en un Procedure específico. |
Estas funciones son funciones del navegador. Los datos recibidos se procesan mediante un código de navegador. Ejemplo de uso de la función JSONExecute El siguiente código se utiliza para ejecutar una página de AWP con el fin de get la lista de contactos en formato JSON. Los pasos son: - Declarar un objeto dinámico. Este objeto dinámico contendrá el resultado en formato JSON.
MyContacts is dynamic object
- Llamando a JSONExecute:
MyContacts = JSONExécute(FolderWeb()+"FR/PAGE_Object.awp?id=12")
- Tratamiento de los datos de JSON: Esta Process se realiza en código de navegador.
Veamos un ejemplo simple: los datos de JSON se devuelven en el siguiente formato:
{id: 12, list: [ {lastname: "smith", firstname: "john"}, {lastname: "doe", firstname: "mary"}, {lastname: "martin", firstname: "laura"}] }
Usted puede por ejemplo:- recuperar el valor de un miembro del objeto dinámico. Por ejemplo:
- recuperar los diferentes elementos de una lista de valores. Por ejemplo:
FOR i = 1 _TO_ Dimension(MyContacts:list) ListAdd(LIST_List_of_contacts, ... MyContacts:list[i]:lastname + " " + ... MyContacts:list[i]:firstname) END
Ejemplo de uso de la función JSONExecuteExternal En este caso, la página utilizada para recuperar los datos de JSON no se encuentra en el mismo dominio.. Las reglas de seguridad de Internet imponen utilizar una función de devolución de llamada a Process el resultado en forma asincrónica. Por lo tanto, JSONExecuteExternal permite especificar el nombre de la ejecución de Procedure para Process los datos de JSON. Ejemplo: En este ejemplo, se llama a una Página WEBDEV Activa y los datos se procesan en la FunciónRespuesta Procedure: JSONExecuteExternal("http://MySite/MySite_WEB/US/PAGE_Object.awp?id=12", ... "JsonCallback", FunctionResponse)
Creación de páginas que devuelven datos de JSON WEBDEV le ofrece la posibilidad de crear un sitio que proporciona servicios de JSON. Las páginas utilizadas para get los datos de JSON deben devolver una cadena de caracteres de un formato específico. Estas páginas pueden ser páginas de AWP o páginas PHP. Caso de una página llamada por JSONExecute: El siguiente código se utiliza para devolver un identificador y una lista de valores: sObject is string = [ {id: 12, list: [ {lastname: "smith", firstname: "john"}, {lastname: "doe", firstname: "mary"}, {lastname: "martin", firstname: "laura"}] } ] // StringToUTF8 is used to manage the accented characters StringDisplay(StringToUTF8(sObject))
Pantalla StringDisplay se utiliza para devolver la información de JSON. StringToUTF8 se utiliza para devolver una cadena en formato UTF8. Esta última función es obligatoria para get un formato válido. Caso de una página llamada por JSONExecuteExternal: Además del código utilizado para gestionar el elemento JSON a devolver, el nombre del procedimiento que se utilizará para Process los datos deben ser especificados en los datos devueltos. El nombre de esta Procedure se indica en parámetro en la URL de la página. El siguiente ejemplo se utiliza para gestionar la llamada con JSONExecute y JSONExecuteExternal. Para una llamada externa, debe comprobar la presencia de un parámetro específico que se encuentra en la URL. Este parámetro ha sido suministrado al usuario del servicio JSON. sObject is string = [ {id: 12, list: [ {lastname: "smith", firstname: "john"}, {lastname: "doe", firstname: "mary"}, {lastname: "martin", firstname: "laura"}] } ] // Manage an external call. // Checks the presence of a procedure name on the URL IF PageParameter("JsonCallback") <> "" THEN sObject = PageParameter("JsonCallback") + "("+ sObject + ");" END // StringToUTF8 is used to manage the accented characters StringDisplay(StringToUTF8(sObject))
Para que los usuarios de los sitios WEBDEV puedan utilizar los servicios JSON, basta con informar a estos usuarios de los parámetros que deben especificar en la Address de la página para comenzar. Observación: Consulte una documentación específica para obtener más detalles.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|