Zum Inhalt springen
hilfmirmal...Arbeit abgeben. Digitale Mitarbeiter entlasten dich.
Erstgespräch
n8n-Lernpfad · Werkzeug zu Lektion 11

Expression-Baukasten

Die Formeln in den geschweiften Klammern bestehen aus drei Teilen: woher, welches Feld, was damit. Hier klickst du die drei Teile zusammen. Der Baukasten schreibt die Formel, erklärt sie in Worten und rechnet sie mit deinen Beispieldaten vor.

Ein Kurs von Erik Lorenscheit, Gründer von hilfmirmal · Zuletzt aktualisiert am

Baukasten

1Woher kommt der Wert?

Faustregel: Direkt hinter dem Node, aus dem der Wert kommt, reicht $json. Hinter einem If oder Switch nimmst du den Node-Namen, dann ist es egal, was dazwischen liegt.

2Welches Feld?

Verschachtelt geht mit Punkt: body.absender. Ein Eintrag aus einer Liste mit eckiger Klammer, gezählt ab 0: products[0].title.

3Was damit?
Beispieldaten (so wie sie im Output des Nodes stehen; JSON)

Deine Formel

In n8n: Feld anklicken, Schalter oben rechts im Feld auf Expression, Formel einfügen. Die Vorschau unter dem Feld muss dasselbe zeigen wie hier.

Rezepte aus dem Kurs

Ein Klick stellt den Baukasten passend ein. Danach kannst du jeden Teil ändern.

Kurze Lektion: Expressions in fünf Schritten

1 · Klammern

Alles zwischen {{ und }} rechnet n8n beim Lauf aus. Ohne Klammern ist es Text. betrag ist das Wort betrag, {{ $json.betrag }} ist der Wert 89.

2 · Woher

$json ist das Item, das gerade durch den Node läuft. $('Anforderung').item.json ist das zugehörige Item eines früheren Nodes, egal was dazwischen passiert ist. Nodes sprechend benennen, dann liest sich die Formel wie ein Satz.

3 · Welches Feld

Punkt, dann der Feldname genau so, wie er im Schema steht. Verschachtelt: noch ein Punkt. Liste: eckige Klammer mit Nummer ab 0. Leerzeichen im Namen: ['Betrag in Euro'].

4 · Was damit

Drei Sorten. Vergleichen liefert true oder false: < 100, === 'IT'. Rechnen liefert eine Zahl: * 1.19. Zusammensetzen liefert Text: + ' Euro'. Dazu die Frageform: Bedingung ? dann : sonst.

5 · Prüfen

Unter jedem Expression-Feld zeigt n8n die Vorschau mit echten Daten. Erst weitermachen, wenn dort das Richtige steht. undefined heißt: Node-Name oder Feldname stimmt nicht.

Ohne Tippen

Zwei Wege: Ein Feld aus dem Schema links mit der Maus ins Value-Feld ziehen, n8n schreibt {{ $json.feld }} selbst. Oder hier zusammenklicken und kopieren.

Merksatz: Drei Gleichheitszeichen vergleichen, ein Gleichheitszeichen weist zu. Text steht in einfachen Anführungszeichen. Zahlen stehen nackt.

Fehler lesen

Du siehstHeißtTu das
[undefined]Feld oder Node gibt es nichtSchreibweise prüfen, im Schema nachsehen, Node-Namen aus n8n kopieren
NaNEs wurde mit Text gerechnetVorher Number(), danach mit Number.isFinite() prüfen
[Object: ...]Du zeigst auf einen ganzen Datensatz statt auf ein FeldNoch einen Punkt und den Feldnamen anhängen
[Array: ...]Du zeigst auf eine Liste[0] für den ersten Eintrag, .length für die Anzahl, .join(', ') für einen Text
„Cannot read properties of undefined“Eine Ebene davor fehlt schonPfad von vorne aufbauen: erst $json, dann $json.body, dann $json.body.absender
Es kommt Text statt ZahlFormulare und Webhooks liefern TextRezept „Formular: Text in Zahl“
„No node called …“Node-Name in $('…') stimmt nichtName inklusive Leerzeichen und Groß-/Kleinschreibung aus dem Node kopieren