Mitra Global Services

Navimania 45 – DLL Mgt Json (Class Read Json)

Hola otra vez!

Esta semana continúo con el tema de las DLL para Dynamics NAV y Business Central.

Os hago resumen de lo hecho hasta ahora.

  • Creación básica de una DLL link
  • Ejecución de la DLL en NAV link
  • Ejecución de la DLL en BC OnPrem link
  • Creación de una DLL para crear Json link

Lo que veremos hoy será la creación de la clase para la lectura de Json. Esto lo hacemos porque en versiones de Dynamics NAV anteriores a 2018 era complicado tanto la lectura como la escritura de este tipo de archivos.

Venga, vamos manos a la obra! 🧐

Lo primero que vamos a hacer es crear el constructor y la variable global del proyecto.

Añadiremos como parámetro en el constructor, que nos incluya el Json en formato texto.

La función que más utilizaremos será la de retornar el valor que tenemos en un tag dentro del Json.

Como podéis ver, le pedimos el nombre del tag dentro del Json, convertimos el Json añadido en el constructor antes mencionado y buscamos ese tag y devolvemos su valor en forma de texto.

También podemos retornar el valor y el tag de dentro del Json dándole la posición.

Tendremos que añadir el tamaño del Json para poder recorrerlo.

Otra función que también vamos a utilizar mucho es la de retornar un Json que está dentro de otro Json.

Un ejemplo de esto sería lo siguiente:

Si lo que nos interesa es el Json de dentro, haremos una función para devolver ese Json.

La siguiente función nos servirá para extraer el Json de dentro de un Json array y así después poder tratarlo y buscar sus valores.

Un ejemplo de Json Array podría ser el siguiente.

Y como veréis, la función extrae el Json en la posición que le digamos como parámetro.

Por supuesto, no nos podemos olvidar de de conocer la extensión de un Json Array para poder recorrerlo y extraer con la función anterior el Json interno dentro de ese array.

Por ultimo y no por ello menos relevante, existe otra función que a mi entender es imprescindible, ya que sin ella tendríamos muchos errores a la hora de exportar cualquier dato dentro de un Json. Y no es otra que saber si existe o no un tag en concreto.

Y con esto tendríamos todas las funciones que a día de hoy considero necesarias para la lectura de los Json 😉

Como siempre este ejemplo entero lo tenéis colgado en GitHub en el link.

Esperamos que esta explicación os resulte de utilidad y os emplazamos a nuestra próxima publicación.

Esteve Sanpons

ES