Жестко закодированное значение, основанное на имени поля в спецификации толчка
Я использую JOLT для преобразования одного JSON в другой JSON, но я не получаю правильный выходной JSON для данного входного JSON
Вход:
{
"user":{
"homePhone":"12345678901",
"mobilePhone":"12346750983",
"email":"test@example.com"
}
}
Ожидаемый Json:
{
"contact":[
{
"class":"PhoneClass",
"phoneNumber":"12345678901",
"mobile":false,
"preferred":false
},
{
"class":"PhoneClass",
"phoneNumber":"12346750983",
"mobile":true,
"preferred":true
},
{
"class":"EmailClass",
"email":"test@example.com"
}
]
}
В выводе json есть дополнительное поле, которое мне нужно добавить.
1 ответ
Насколько это динамично? Если для вашего примера вы знаете, что у вас есть эти три поля ввода и вам нужно три объекта вывода, эта спецификация должна работать:
[
{
"operation": "shift",
"spec": {
"user": {
"homePhone": "contact[0].phoneNumber",
"mobilePhone": "contact[1].phoneNumber",
"email": "contact[2].email"
}
}
},
{
"operation": "default",
"spec": {
"contact[]": {
"0": {
"class": "PhoneClass",
"mobile": false,
"preferred": false
},
"1": {
"class": "PhoneClass",
"mobile": true,
"preferred": true
},
"2": {
"class": "EmailClass"
}
}
}
}
]