При вызове внешнего API я получаю сложную структуру json, которую мне нужно преобразовать в простой json в соответствии с нашими потребностями. Я обнаружил, что jolt может преобразовывать json, но не может придумать спецификацию jolt.
Мой входной массив Json --
{
"attribute": [
"teamalloc",
"prodAlloc"
],
"item": {
"id": "abcde",
"name": "Champak Kumar",
"allocDetails": {
"updatedAt": "2020-08-10T14:26:48-07:00",
"token": 1134,
"items": [
{
"allocation": 0.2,
"team": {
"id": 90,
"name": "Some Team Name 1",
"createdAt": "2010-01-19T10:52:52-07:00"
}
},
{
"allocation": 0.9,
"team": {
"id": 80,
"name": "Some Team Name 2",
"createdAt": "2010-01-19T10:52:52-07:00",
"product": {
"id": 20,
"name": "Some Product Name 1",
"otherDetails": {
"key": "Id",
"value": "GEC"
}
}
}
},
{
"allocation": 0.1,
"team": {
"id": 10,
"name": "Some Team Name 3",
"createdAt": "2010-01-19T10:52:52-07:00",
"product": {
"id": 22,
"name": "Some Product Name 2",
"otherDetails": {
"key": "Id1",
"value": "GEC1"
}
}
}
}
]
}
}
}
Моя выходная структура Json должна выглядеть так --
{
"name": "Champak Kumar",
"allocDetails": [
{
"allocation": 0.2,
"team": {
"id": 90,
"name": "Some Team Name 1"
}
},
{
"allocation": 0.9,
"team": {
"id": 80,
"name": "Some Team Name 2",
"product": {
"id": 20,
"name": "Some Product Name 1"
}
}
},
{
"allocation": 0.1,
"team": {
"id": 10,
"name": "Some Team Name 3",
"product": {
"id": 22,
"name": "Some Product Name 2"
}
}
}
]
}
Я попробовал несколько спецификаций толчков, но не смог добиться желаемого результата. Какой должна быть идеальная характеристика толчка для этого?
Спасибо за ответ. Не могли бы вы объяснить спецификацию?
Просто добавил еще один тег под продуктом, т. е. "otherDetails". Что мне делать, если я не хочу, чтобы этот тег под тегом продукта выводился.. "otherDetails": { "key": "Id", "value": "GEC" }
Спасибо за это .. Я также добавил комментарий ниже ..