In einem JSON2Spreadsheet Step habe ich einen "Abbruch" der Verarbeitung OHNE FEHLERMELDUNG wenn das JSON Objekt aus dem Spreadsheet URL Download leer ist. In diesem Fall werden nur die ersten X Zeilen an den nächsten Step übergeben.
Der URL Download gibt in manchen Fällen ein leeres Objekt zurück:
{ "metafields": [] }
Sobald ein solches JSON verarbeitet wird, stoppt die Verarbeitung und ich kriege nur noch die zuvor verarbeiten JSONs in das Output Spreadsheet. Ich habe schon versucht im Transformation Template mit ?has_content oder ?size die Verarbeitung zu steuern, aber der Step gibt weiterhin keine Daten weiter. Hier der Code aus meinem Transformation Template. Es ist sicherlich einiges doppelt gemoppelt, aber in meiner Verzweiflung...
<#if json["metafields"]?has_content > <#list json["metafields"] as prodmetafields> <#if prodmetafields?has_content> <#list prodmetafields as field> <#if field?has_content> <#assign row = target.addRow()> <#if field["owner_id"] != ""> <#assign row = target.addRow()> ${addColumns(row,field["owner_id"],"product_id")} <#assign value = field["value"]?string> ${addColumns(row,value?replace('"',''),"sz_innenauftrag")} <#else> <#assign row = target.addRow()> ${addColumns(row,"empty","product_id")} ${addColumns(row,"empty","sz_innenauftrag")} </#if> </#if> </#list> </#if> </#list> </#if>