Мне тяжело с использованием отображения Джолта, пытающегося преобразовать ввод в нужную форму
Входной JSON
{
"data": [
{
"name": "Alcohol",
"collection_id": 123,
"properties": [
{
"name": "Tax",
"property_id": "00001"
},
{
"name": "Expenditure",
"property_id": "00002"
}
],
"attributes": [
{
"name": "alcohol_tax",
"attribute_id": "00011"
},
{
"name": "alcohol_expenditure",
"attribute_id": "00022"
}
]
}
]
}
Выходной JSON
[
{
"name": "Alcohol",
"collection_id": 123,
"details": [{
"property_name": "Tax",
"property_id": "00001",
"attribute_id": "00011"
},
{
"property_name": "Expenditure",
"property_id": "00002",
"attribute_id": "00022"
}
]
}
]
IЯ попробовал несколько способов объединить массивы, используя несколько правил, но без особого успеха.
Одно из правил
[{
"operation": "shift",
"spec": {
"data": {
"*": {
"name": "&1.name",
"collection_id": "&1.collection_id",
"attributes": {
"*": {
"attribute_id": "&1.attribute_id[]"
}
},
"properties": {
"*": {
"name": "&1.myname[]",
"property_id": "&1.property_id[]"
}
}
}
}
}
}]
- добавление всех атрибутов и свойств ко всем коллекциям.Я не знаю, почему это происходит, так как я думал, что & 1.property_id [] будет добавлять в массив только элементы из этой конкретной коллекции, а не все коллекции.Любая помощь / подсказки о том, почему это происходит, была бы очень признательна.