Hallo Ludwig,
normalerweise sollte es möglich sein, die beiden JSONs dynamisch zu kombinieren in dem du alles in eine Zeile gruppierst. Dein Trennzeichen ist hier ein Komma. Erst nach dem abschließenden Gruppieren solltest du dann die Array Klammern '[ ... ]' drum herum machen.
Das heißt, dass würde dann so aussehen:
Zeile1:
{ "SUPPLIER_PID" : "5150904", "FNAME" : { "farbe":"klar","norm":"EN 166/EN 170/CAT II","bezeichnung":"Schutzbrille Oklahoma","eshop-synonyme":"1000315, tp1000315, tp1000315","standardnormen166":"ja","uv-schutzen170":"99,9 %","sonnenschutzen172":"nein","material":"Polycarbonat","beschlagfrei":"nein","kratzfest":"ja","bruchsicherheit":"45 m/Sek.","duosphärischescheibe":"nein","vollsichtbrille":"nein","fürkorrekturbrillenträger":"ja" }}
Zeile 2:
{ "SUPPLIER_PID" : "4938028", "FNAME" : { "inhalt":"200 ml","bezeichnung":"Augenspülflasche ph-neutral","produkt-typ":"Flasche","eshop-synonyme":"3015102, tp3015102, tp3015102" } }
Gruppiert:
Zeile1, Zeile2
{ "SUPPLIER_PID" : "5150904",
"FNAME" : { "farbe":"klar","norm":"EN 166/EN 170/CAT II","bezeichnung":"Schutzbrille Oklahoma","eshop-synonyme":"1000315, tp1000315, tp1000315","standardnormen166":"ja","uv-schutzen170":"99,9 %","sonnenschutzen172":"nein","material":"Polycarbonat","beschlagfrei":"nein","kratzfest":"ja","bruchsicherheit":"45 m/Sek.","duosphärischescheibe":"nein","vollsichtbrille":"nein","fürkorrekturbrillenträger":"ja" }
},
{ "SUPPLIER_PID" : "4938028",
"FNAME" : { "inhalt":"200 ml","bezeichnung":"Augenspülflasche ph-neutral","produkt-typ":"Flasche","eshop-synonyme":"3015102, tp3015102, tp3015102" }
}
Klammern:
[ Zeile1, Zeile2]
[{ "SUPPLIER_PID" : "5150904",
"FNAME" : { "farbe":"klar","norm":"EN 166/EN 170/CAT II","bezeichnung":"Schutzbrille Oklahoma","eshop-synonyme":"1000315, tp1000315, tp1000315","standardnormen166":"ja","uv-schutzen170":"99,9 %","sonnenschutzen172":"nein","material":"Polycarbonat","beschlagfrei":"nein","kratzfest":"ja","bruchsicherheit":"45 m/Sek.","duosphärischescheibe":"nein","vollsichtbrille":"nein","fürkorrekturbrillenträger":"ja" }
},
{ "SUPPLIER_PID" : "4938028",
"FNAME" : { "inhalt":"200 ml","bezeichnung":"Augenspülflasche ph-neutral","produkt-typ":"Flasche","eshop-synonyme":"3015102, tp3015102, tp3015102" }
}
]
Der erste Aufruf von <#assign row = target.addRow()> fügt eine leere Kopfzeile an dein Ausgabe-spreadsheet an. Das braucht Synesty, damit dort später die einzelnen Spalten hinzugefügt werden können. Das muss initial immer gemacht werden.
Mit den [ ] klammern werden ja in JSON Arrays definiert. Ein Array ist eine Liste von Objekten (in dem Fall deine Zeilen). Diese Objekte sind immer Komma getrennt.
Mit dem <#list json as j> sagst du also "Gehe durch alle Zeilen in der JSON-Liste (Array) und benenne mir die momentane Zeile (Objekt) als 'j'.
Der nächste Aufruf <#assign row = target.addRow()> bedeutet nun: "Füge für jede Zeile (Objekt) in der Liste (Array) eine leere Zeile zu dem Ausgabe-Spreadsheet hinzu."
Dann kommt der Aufruf:
${addColumns(row, j,"",{"autoExpand":"asColumns"})}
Hier werden alle JSON Attribute aus dem dem Objekt j zu der Spreadsheet Zeile "row" hinzugefügt.
Das autoexpand bewirkt dabei, dass automatisch alle hierarchischen Attribute mit in eigene Spalten kommen.
Diese Funktion beachtet dabei von alleine ob eine Spalte bereits besteht oder nicht.
An sonsten kannst du ja, wenn du willst deinen Flow hier anhängen und ich schaue mal drüber :)
Viele Grüße
Stefan