Skip to main content
Při práci s poli v akcích Code se můžete setkat se dvěma běžnými problémy:
  1. Pole předaná jako řetězce — data z externích systémů nebo předchozích kroků dorazí jako řetězec místo skutečného pole
  2. Nelze vybírat jednotlivé položky — můžete vybrat pouze celé pole, nikoli konkrétní pole objektů v něm
Obojí lze vyřešit pomocí uzlu Code.

Parsování polí z řetězců

Pole se mezi kroky pracovního postupu často předávají jako řetězce nebo JSON, nikoli jako nativní pole. K tomu dochází, když:
  • Příjem dat z externích API pomocí HTTP Request
  • Zpracování dat webhooků
  • Předávání dat mezi kroky pracovního postupu
Řešení: Přidejte tento vzor na začátek své akce Code:
Klíčový řádek typeof users === "string" ? JSON.parse(users) : users ověřuje, zda je vstup řetězec, v případě potřeby jej rozparsuje, nebo jej použije přímo, pokud už jde o pole.

Extrahování jednotlivých atributů z polí

Webhook může vrátit pole jako answers: [...], ale v následujících krocích pracovního postupu lze vybrat pouze celé pole — nikoli jednotlivé položky v něm. Řešení: Přidejte uzel Code, který extrahuje konkrétní pole a vrátí je jako strukturovaný objekt:
Uzel Code vrátí místo pole strukturovaný objekt. V následujících krocích nyní můžete ve výběru proměnných vybrat jednotlivá pole, jako answer.firstname a answer.name.
Chcete místo rozbalování polí iterovat přímo přes pole? Když krok Code nebo Logic Function vrátí pole na nejvyšší úrovni, můžete ho předat přímo do Iteratoru: jako vstup Iteratoru vyberte možnost kroku Whole list a uvnitř smyčky pak na každou položku odkazujte pomocí {{iterator.currentItem}}. V takovém případě nemusíte pole převádět na objekt.
Klikněte na čtvercovou ikonu vpravo nahoře v editoru kódu a zobrazte jej na celou obrazovku — hodí se to, protože výchozí šířka editoru je omezená.