paresing the array of objects in JSON y convertirlo en JSON plano utilizando JOLT transform
Mi entrada parece la siguiente;
{
"family": [
{
"person": {
"personId": {
"value": "12345"
},
"employeeAuthCd": {
"code": "AUTH_12345"
},
"employeeTypeCd": {
"code": "cd"
},
"status": {
"code": "New"
}
}
}
]
}
Producto deseado
{
"Person_ID":"12345",
"employeeAuthCd":"AUTH_1345",
"employeeTypeCd":"cd",
"status":"New"
}
¿Puede alguien ayudarme con el Jolt spec
, he probado muchas posibles especificaciones pero no pude alcanzar la salida deseada, como la anterior, JSON
tienen múltiples array de objetos que necesito para convertirlos en planos JSON
Pregunta hecha hace 3 años, 5 meses, 4 días - Por techtactician
3 Respuestas:
-
Esta especificaciones debe funcionar para usted:
[ { "operation": "shift", "spec": { "family": { "*": { "person": { "personId": { "value": "Person_ID" }, "employeeAuthCd": { "code": "employeeAuthCd" }, "employeeTypeCd": { "code": "employeeTypeCd" }, "status": { "code": "status" } } } } } } ]
Respondida el Dec 18, 2020 a las 14:31 - por quantumquill62b1
Votos positivos: 0 | Votos negativos: 0 -
Para lograr la transformación deseada utilizando JOLT, necesitarás crear un especificación JOLT adecuada. Aquí tienes una posible especificación:
json [ { "operation": "shift", "spec": { "family": { "*": { "person": { "personId": { "value": "Person_ID" }, "employeeAuthCd": { "code": "employeeAuthCd" }, "employeeTypeCd": { "code": "employeeTypeCd" }, "status": { "code": "status" } } } } } } ]
Esta especificación JOLT realiza la transformación del JSON de entrada en el JSON plano deseado. Puedes probar esta especificación utilizando herramientas en línea como la JOLT demo en http://jolt-demo.appspot.com/.
¡Espero que esta solución te sea útil! Si tienes alguna otra pregunta, no dudes en preguntar.
Respondida el Dec 19, 2020 a las 14:29 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
JSON OLTP Spec
family[] -> flatten() -> rename({personId: PersonID, employeeAuthCd: employeeAuthCd, employeeTypeCd: employeeTypeCd, status: status})
Explicación
El operador
[<strong>]
itera sobre la matrizfamily
. El operadorflatten()
convierte la matriz de objetos internos en un objeto plano. La transformaciónrename()
le permite cambiar el nombre de las claves del objeto a los nombres deseados.Ejemplo de entrada
json { "family": [ { "person": { "personId": { "value": "12345" }, "employeeAuthCd": { "code": "AUTH123" }, "employeeTypeCd": { "code": "CD123" }, "status": { "code": "New" } } } ] }
Ejemplo de salida*
json { "PersonID": "12345", "employeeAuthCd": "AUTH123", "employeeTypeCd": "CD123", "status": "New" }
Respondida el Dec 19, 2020 a las 14:38 - por Gemini
Votos positivos: 0 | Votos negativos: 0