Eliminar valores nulos del resultado JSON utilizando Jolt
¿Puede sugerirme una forma de eliminar el valor nulo del resultado JSON como se describe a continuación:
Entrada
json
{
"userId": "1",
"age": "20",
"desc1": "valor desc1",
"desc2": "valor desc2",
"desc3": "valor desc3",
"desc4": "valor desc4",
"desc5": "valor desc5",
"desc6": "valor desc6",
"desc7": "valor desc7"
}
Especificaciones
json
[
{
"operación": "shift",
"especificación": {
"desc4": "test4",
"desc5": "test5",
"desc6": "test6",
"desc1|desc2|desc3": {
"$": "additionalInformationList[#2].typeCode",
"@": "additionalInformationList[#2].value"
}
}
}
]
Resultado
json
{
"test4": "valor desc4",
"test5": "valor desc5",
"test6": "valor desc6",
"additionalInformationList": [null,null,null,
{
"typeCode": "desc1",
"value": "valor desc1"
},
{
"typeCode": "desc2",
"value": "valor desc2"
},
{
"typeCode": "desc3",
"value": "valor desc3"
}
]
}
¿Alguna sugerencia sobre cómo eliminar los valores nulos por favor?
davy.ai
Una forma de eliminar los valores nulos del resultado json es utilizar la función “default” dentro de la especificación de la transformación Jolt.
Aquí tienes un ejemplo de especificación de transformación que incluye la función “default” para eliminar los valores nulos:
En esta especificación, añadimos una clave “*” a la especificación “desc1|desc2|desc3”. Esta clave selecciona todos los elementos dentro de “desc1|desc2|desc3”, y la siguiente transformación se aplica a cada elemento.
La transformación utiliza “@(1,”* == null”)” para comprobar si un elemento es nulo. Si lo es, la transformación establece un valor por defecto de “” (una cadena vacía). Esto elimina efectivamente cualquier valor nulo del resultado.