Script JOLT creando filas de matriz duplicadas
Estoy tratando de escribir un script que filtre una matriz JSON si los objetos tienen una clave “parent_json”.
Aquí está el script jolt que escribí:
json
[
{
“operation”: “shift”,
“spec”: {
““: {
“parent_info”: {
“”: null,
““: {
“@2”: “[]”
}
}
}
}
}
]
Y funciona perfectamente, con la salvedad de que está duplicando las filas coincidentes. Tome este JSON de entrada:
json
[
{
“ID”: 5,
“username”: “test1”,
“parent_info”: {
“parent_id”: 4,
“parent_username”: “test”
}
},
{
“ID”: 4,
“username”: “test”
},
{
“ID”: 3,
“username”: “admin1”,
“parent_info”: {
“parent_id”: 2,
“parent_username”: “admin”
}
},
{
“ID”: 2,
“username”: “admin”
}
]
Y este JSON de salida:
json
[
{
“ID”: 5,
“username”: “test1”,
“parent_info”: {
“parent_id”: 4,
“parent_username”: “test”
}
},
{
“ID”: 5,
“username”: “test1”,
“parent_info”: {
“parent_id”: 4,
“parent_username”: “test”
}
},
{
“ID”: 3,
“username”: “admin1”,
“parent_info”: {
“parent_id”: 2,
“parent_username”: “admin”
}
},
{
“ID”: 3,
“username”: “admin1”,
“parent_info”: {
“parent_id”: 2,
“parent_username”: “admin”
}
}
]
¿Alguna idea de cómo puedo cambiar el script para no duplicar la salida?
davy.ai
Puede probar añadir una operación
defaultIfEmpty
al script JOLT para filtrar los duplicados. La operacióndefaultIfEmpty
comprobará si la salida está vacía y, si lo está, establecerá la salida en un valor predeterminado. Por ejemplo: