Si el método senasaEjecutar no tuvo errores el resultado devuelto por el servidor puede ser leído con el método senasaLeerProiedad en formato string.
Tomando como base el ejemplo preliminar el método tiene 5 argumentos:
"método": en blanco, sin uso:
"campo": la ubicación y nombre del campo a leer. La palabras claves "LISTA" y "DICCIONARIO" permite identificar campos ubicados en estas estructuras.
"valor": sin uso:
indice: si es un campo en una lista (indexado) este valor indica a que número de item se refiere.
subindice: idem indice pero para un campo en una lista dentro de una lista.
el 2do argumento de este método "campo" es el que permite ubicar y recuperar el dato a leer. Teniendo en cuenta que el servidor SENASA devuelve los resultados en texto JSON.
Aunque la explicación del formato JSON excede el alcance de esta guía aquí figuran una breve detalle y ejemplos. tomando como base el resultado recibido en el archivo archivoxmlrecibido los casos más comunes son:
Lista: [1, 2, "item 3", 4, 5, "ultimoitem"]
en JSON un texto encerrado entre paréntesis cuadrados indica una lista cuyos items pueden ser accedidos por indice en base 0 por ejemplo:
senasaLeerPropiedad("", "lista.itemcantidad", "", 0, 0) devolveria 6 (elementos:
senasaLeerPropiedad("", "lista", "", 5, 0) devolveria "ultimoitem"
senasaLeerPropiedad("", "lista", "", 0, 0) devolveria "1"
Lista dentro de lista: [1, 2, ["a", "b", "c", "d"], 4, 5, "ultimoitem"]
senasaLeerPropiedad("", "lista.itemcantidad", "", 0, 0) devolveria 6 (elementos
senasaLeerPropiedad("", "lista.lista.itemcantidad", "", 2, 0) devolvería 4 elementos (la cantidad de elementos de la lista interna "a, b, c, d" contenida dentro de la lista principal como item 3: 2 en base 0)
senasaLeerPropiedad("", "lista.lista", "", 2, 3) devolveria "d" el 4to elemento de la lista interna que es el 3er elemento de la lista principal (con indices en base 0)
senasaLeerPropiedad("", "lista.eslista", "", 0, 0) devolveria "NO"
senasaLeerPropiedad("", "lista.eslista", "", 2, 0) devolveria "SI"
Diccionario: {"Datos1":"valor1","Dato2":"valor2","Dato3":"11"}
en JSON un texto encerrado en llaves indica una diccionario cuyos items son pares conteniendo el nombre del dato ("dato1") y su valor asociado ("valor1"). El nombre del dato e un diccionario es sensible a Mayúscula/Mínúscula.
senasaLeerPropiedad("", "diccionario.itemcantidad", "", 0, 0) devolveria 3 pares de valores.
senasaLeerPropiedad("", "diccionario.Dato3", "", 0, 0) devolveria "11".
Diccionario dentro de lista:
[1, 2, {"datos1":"valor1","dato2":"valor2","dato3":"11"}, 4, 5, "ultimoitem"]
senasaLeerPropiedad("", "lista.itemcantidad", "", 0, 0) devolveria 6 elementos. El 3er es un diccionario.
senasaLeerPropiedad("", "lista.diccionario.itemcantidad", "", 2, 0) devolveria 3 pares del valores del diccionario que es el 3er elemento (2 en base 0) de la lista principal
senasaLeerPropiedad("", "lista.diccionario.valor2, "", 2, 0) devolveria "dato3"
senasaLeerPropiedad("", "lista.esdiccionario, "", 0, 0) devolveria "NO"
senasaLeerPropiedad("", "lista.esdiccionario, "", 2, 0) devolveria "SI"