Малко след като добавих собствената си награда, разбрах решението. Моят проблем има същата основна структура, която е родителски идентификатор и няколко N дъщерни двойки ключ/стойност за оценки (качество, стойност и т.н...).
Първо, ще ви е необходима стъпка за въвеждане на JSON, която получава SKU, име и масив size_break_costs, всички като низове. Важната част е, че size_break_costs е низ и всъщност е просто низов JSON масив. Уверете се, че под раздела „Съдържание“ на входа на JSON е отметнато „Игнориране на липсващ път“, в случай че получите такъв с празен масив или полето липсва по някаква причина.
За вашите полета използвайте:
Name | Path | Type
ProductSKU | $.sku | String
ProductName | $.name | String
SizeBreakCosts | $.size_break_costs | String
Добавих блок „Филтриране на редове“ след тази стъпка с условието „SizeBreakCosts IS NOT NULL“, който след това се предава на втори блок за въвеждане на JSON. Този втори JSON блок ще трябва да поставите отметка на „Източникът е дефиниран в поле?“ и да зададете стойността на „Получаване на източник от поле“ на „SizeBreakCosts“ или каквото и да сте го нарекли в първия блок за въвеждане на JSON.
Отново се уверете, че „Игнориране на липсващ път“ е отметнато, както и „Игнориране на празен файл“. От този блок ще искаме да получим две полета. Вече ще имаме ProductSKU и ProductName с всеки предаден ред и тази втора стъпка за въвеждане на JSON допълнително ще го раздели на колкото редове има във входния JSON на SizeBreakCosts. За полета използвайте:
Name | Path | Type
Quantity | $.[*].quantity | Integer
Size | $.[*].size | String
Както можете да видите, тези пътища използват "$.[*].FieldName", тъй като JSON низът, който предадохме, има масив като основен елемент, така че получаваме всеки елемент в този масив и анализираме неговото количество и размер.
Сега всеки ред трябва да има SKU и име от родителския обект, както и количеството и размера от всеки дъщерен обект. Изхвърляйки този пример в текстов файл, получих:
ProductSKU;ProductName;Size;Quantity
SK3579;Authority;S; 80
SK3579;Authority;M; 14
SK3579;Authority;L; 55