Как создать несколько записей из массива в SnapLogic?
Есть ли в SnapLogic простой способ взять первую запись JSON и создать вывод, который будет показан позже?
Это упрощенная версия того, что пытается быть достигнуто...
Входная запись содержит две переменные и массив "skus", состоящий из элементов с двумя переменными, "skucode" и "shade".
Каждая выходная запись является надмножеством входной записи. Каждая выходная запись переводит один из элементов массива над массивом на тот же уровень, что и две переменные во входной записи, как показано в примере ниже.
Входные данные:
{
"code": "ABCD",
"name": "Product A",
"sku": [
{
"skucode": "ABCD12",
"shade": "green"
},
{
"skucode": "ABCD13",
"shade": "brown"
},
{
"skucode": "ABCD14",
"shade": "blue"
},
{
"skucode": "ABCD15",
"shade": "red"
},
]
}
Выход:
[{
"code": "ABCD",
"name": "Product A",
"skucode": "ABCD12",
"shade": "green"
"sku": [
{
"skucode": "ABCD12",
"shade": "green"
},
{
"skucode": "ABCD13",
"shade": "brown"
},
{
"skucode": "ABCD14",
"shade": "blue"
},
{
"skucode": "ABCD15",
"shade": "red"
},
]
},
{
"code": "ABCD",
"name": "Product A",
"skucode": "ABCD13",
"shade": "brown"
"sku": [
{
"skucode": "ABCD12",
"shade": "green"
},
{
"skucode": "ABCD13",
"shade": "brown"
},
{
"skucode": "ABCD14",
"shade": "blue"
},
{
"skucode": "ABCD15",
"shade": "red"
},
]
},
{
"code": "ABCD",
"name": "Product A",
"skucode": "ABCD14",
"shade": "blue"
"sku": [
{
"skucode": "ABCD12",
"shade": "green"
},
{
"skucode": "ABCD13",
"shade": "brown"
},
{
"skucode": "ABCD14",
"shade": "blue"
},
{
"skucode": "ABCD15",
"shade": "red"
}
]
},
{
"code": "ABCD",
"name": "Product A",
"skucode": "ABCD15",
"shade": "red"
"sku": [
{
"skucode": "ABCD12",
"shade": "green"
},
{
"skucode": "ABCD13",
"shade": "brown"
},
{
"skucode": "ABCD14",
"shade": "blue"
},
{
"skucode": "ABCD15",
"shade": "red"
}
]
}
]
1 ответ
Самое простое решение с моей головы было бы следующим:
Образец трубопровода:
Вход (JSON Generator):
Отображение до сплиттера JSON:
JSON сплиттер:
Отображение после сплиттера JSON:
Выход:
Примечание: вместо непосредственного использования $sku
в пути включения я сначала преобразовал JSON в новое поле, а затем добавил его в список путей включения. Это потому, что вы не можете включить путь, который вы разделяете. Для окончательного желаемого результата я просто снова проанализировал текст JSON в JSON.
Надеюсь, это то, что вам нужно, ребята:)