JSON son las siglas de Java Script Object Notation
Se trata de un Standard internacional para dar formato al envío de la data entre dos plataforma o entre dos lenguajes de programación.
A partir del 2015 se popularizó este formato superando con creces al formato estandard XML que hasta ese entonces reinaba sin competencia alguna.
Algunos expertos coincide en que JSON ocupa menos espacio y es mas sencillo de interpretar que XML.
JSON soporta los siguiente tipos de data:
- Numerico
- String
- Arreglos (Array)
- Objetos (Ds= Data Structure, en el caso de RPGLE IBM)
- Boleanos = true/false
- Nulos = null
Para identificar las estructuras de data la sintaxis es la siguiente:
- Inicio y fin de data structure (DS): { } Llave que abre y cierra respectivamente
- Inicio y fin de un arreglo : [ ] Corchete que abre y cierra respectivamente
Para identificar los elementos simples dentro de las estructuras:
- "Nombre del elemento": valor del elemento
- Los elementos se separan con coma. (,)
Veamos el siguiente ejemplo:
Supongamos que queremos enviar en formato JSON los datos contenidos en la siguiente estructura de RPG. DS = Data Structure
Pasos a seguir:
1.-Entender el significado de la estructura que vamos a enviar. En este caso, vamos a enviar el saldo final y el saldo promedio de la cuenta de un cliente de los ultimos tres meses del año 2022 y 2021. Primero el año 2022 y luego el año 2021.
2.-Interpretar la estructura correctamente. Muy Importante!!!
Se trata de enviar una estructura que contiene
- Un elemento simple: ClientId
- Un arreglo de dos elementos: DS_Account.
3.-Colocar la sintaxis correspondiente.
Enviar un objeto (DS) que tiene:
{ "Ds_client": {
A.- Un campo simple (Clientid) "ClientId": "EX-8976531234"
B.- Un arreglo: DS-Account [
Cada elemento del arreglo es una DS: {
B.1-Account_number. "Account_number":89712345,
B.2-Year. "Year":2022,
B.3-Un arreglo Ds-balance de tres elementos. [
Cada elemento del arreglo es a su vez una DS. {
La DS contiene dos elementos simples
B.3.1- Balance "Balance": 146.34,
B.3.2 Average "Average": 125.78
Fin de la DS del primer elemento del arreglo interno },
//Segundo elemento del arreglo interno
{
"Balance": 288.50,
"Average": 145.98
},
//Tercer elemento del arreglo interno
{
"Balance": 426.80,
"Average": 375.95
}
] //cierra arreglo Ds-balance
}, //cierra primer elemento del arreglo DS-Account
.......
.......
.......
Repetimos el proceso para el año 2021, que sería el segundo elemento
del arreglo Ds-Account
A continuación generamos el formato completo de la DS en JSON:
{
"DS_Client":
{
"ClientId":"EX-8976531234",
"Ds_Account":
[
{
"Acount_Number":89712345,
"Year": 2022,
"Ds-Balance":
[
{
"Balance": 146.34,
"Average": 125.78
},
{
"Balance": 288.50,
"Average": 145.98
},
{
"Balance": 426.80,
"Average": 375.95
}
]
},
{
"Acount_Number":89712345,
"Year": 2021,
"Ds-Balance":
[
{
"Balance": 121.33,
"Average": 115.78
},
{
"Balance": 123.50,
"Average": 135.98
},
{
"Balance": 226.60,
"Average": 178.90
}
]
}
]
}
}
Antes de finalizar algunos tips importantes: 1.-Cuando queremos asignar un valor nulo a un campo simple lo
{ ........ } [ ........ ]
___________
Dejo a continuación algunos enlaces de interés:
https://www.scottklement.com/yajl/
https://www.toptal.com/web/json-vs-xml-part-1
No comments:
Post a Comment