Prüfe die tatsächliche Eingabe im Node und verwende $json für das aktuelle Item. .item folgt der Item-Verknüpfung, .first() wählt ausdrücklich den ersten Datensatz. Für fehlende Werte kann ?? passen, wenn gültige Werte wie 0 erhalten bleiben sollen. Kontrolliere das Ergebnis an mehreren passenden Prüffällen.
Eine Expression verändert einen Parameter
Expressions stehen in Node-Feldern in der Schreibweise {{ ... }}. Sie können beispielsweise einen Datenwert auswählen oder eine kleine Berechnung für diesen Parameter ausführen. Der Herstellervergleich der Datenwerkzeuge grenzt sie von eigenen Code- und Transformations-Nodes ab.
Unser Vorgehensvorschlag: Beginne mit einer einzigen klaren Werteauswahl. Wenn ein Feld mehrere Verarbeitungsschritte, Sonderfälle und umfangreiche Bedingungen enthält, mache den Datenweg mit passenden eigenen Nodes besser sichtbar. Eine kurze Vorschau lässt sich leichter prüfen als ein großes Programm innerhalb eines Eingabefelds.
Vom echten Eingabefeld zum Ausdruck
Nimm die tatsächlich vorhandene Eingabe als Ausgangspunkt. Für unser eigenes Lagerbeispiel betrachten wir im JSON-Inhalt eines Items diesen Ausschnitt:
{
"body": {
"item_id": "ART-42",
"quantity": 0,
"comment": null
}
}Die Artikelnummer wird darin so gelesen:
{{ $json.body.item_id }}$json bezeichnet die JSON-Daten des aktuellen Eingabe-Items. Liegt item_id nach einem vorherigen Verarbeitungsschritt direkt auf der obersten Ebene, passt dieser body-Pfad nicht mehr. Kontrolliere daher die Eingabe im Node, in dem du den Ausdruck verwendest.
Der n8n-Webhook-Guide zeigt den eingehenden Datenweg. Für einen Schlüssel mit Bindestrich kannst du beispielsweise {{ $json.headers['x-request-id'] }} verwenden, sofern dieser Header tatsächlich vorhanden ist. Die Namen in den Beispielen sind keine automatisch erzeugten Pflichtfelder.
.item, .first() und .all() unterscheiden
Ein benannter Node kann mehrere Items ausgegeben haben. Die Expression-Referenz unterscheidet drei Auswahlen:
| Ausdruck | Auswahl | Passender Bedarf |
|---|---|---|
$('Lagerdaten').item | Zum aktuellen Item verknüpftes Item | Seine Herkunftsdaten weiterverwenden |
$('Lagerdaten').first() | Erstes ausgegebenes Item | Bewusst einen ersten Datensatz verwenden |
$('Lagerdaten').all() | Alle ausgegebenen Items als Liste | Eine ausdrücklich geplante Listenoperation |
Unser zweites Beispiel setzt voraus, dass ein Node namens Lagerdaten zwei Items mit item_id direkt in ihren JSON-Daten ausgegeben hat. Das aktuelle Item stammt vom zweiten Datensatz. Bei korrekter Verknüpfung folgt {{ $('Lagerdaten').item.json.item_id }} diesem Datensatz. {{ $('Lagerdaten').first().json.item_id }} wählt dagegen den ersten.
Ein Item-Linking-Fehler lässt sich deshalb fachlich nicht beliebig durch .first() „reparieren“. Prüfe die Item-Verknüpfung und die gewünschte Auswahl. Eine fehlende Fehlermeldung beweist nicht, dass Artikelnummer und Folgeaktion zusammengehören.

Fehlend, null und die Zahl 0 trennen
In unserem Eingabebeispiel ist die Menge 0 vorhanden. Das ist ein anderer Befund als eine fehlende Menge. Wenn fehlende oder nullwertige Angaben als null weitergegeben werden sollen, lässt sich die Auswahl so ausdrücken:
{{ $json.body?.quantity ?? null }}Der Operator ?? verwendet den Ersatzwert bei null oder undefined. Er erhält 0, false und leeren Text. || behandelt dagegen auch solche falsy-Werte als Anlass für den rechten Wert. Diese Unterscheidung beschreibt die MDN-Sprachreferenz.
Lege vor dem Fallback fest, was deine Daten bedeuten. Das Beispiel quantity || 1 würde die vorhandene Nullmenge durch 1 ersetzen. Ob ein leerer Kommentar erlaubt ist oder ein fehlendes Feld zum Abbruch führen muss, entscheidet dein Datenvertrag. Optional Chaining und ein Ersatzwert übernehmen diese fachliche Prüfung nicht.
Typen vor dem nächsten Node prüfen
Vergleiche neben dem sichtbaren Wert auch den Datentyp. Eine Menge als Text, ein Zahlenwert und ein fehlender Wert können ähnlich aussehen, aber unterschiedliche Verarbeitung verlangen.
| Eingabe | Befund | Eigene Entscheidung |
|---|---|---|
quantity: 0 | Zahl vorhanden | Als Nullmenge erhalten, wenn der Vertrag sie erlaubt |
quantity: "0" | Text vorhanden | Typanforderung prüfen; keine blinde Umwandlung |
| quantity fehlt | Kein Eingabewert | Expliziter Ersatzwert oder Fehlerpfad |
Wenn du Werte in einen Request übernimmst, prüfe anschließend den gesamten JSON-Body. Ein n8n-Datenobjekt und eine Zeichenfolge, die JSON enthält, sind verschiedene Eingabeformen. Die Anleitung zum HTTP Request mit JSON erklärt den Übergang zur API.
Eine Liste ist nicht immer mehrere Items
Ein einziges n8n-Item kann in einem Feld ein Array enthalten, beispielsweise mehrere Lagerpositionen unter body.lines. Die Anzahl dieser Positionen und die Anzahl der Eingabe-Items des Nodes sind unterschiedliche Größen.
{{ $input.all().length }} zählt die aktuellen Eingabe-Items. Ein Ausdruck für die Länge des tatsächlich vorhandenen body.lines-Arrays beantwortet eine andere Frage. Prüfe erst die Struktur, bevor du einen Zähler oder eine Listenoperation auswählst. Für das Aufteilen und Zusammenfassen von Daten gibt es eigene Transformations-Nodes; nicht jede Liste braucht eine lange Expression.
Die Anleitung zu n8n Schleifen mit Loop Over Items zeigt, wann eine ausdrückliche Schleife sinnvoll ist und wie du Rückpfad und Abschluss verbindest.
Eine kleine Prüfliste für jeden Ausdruck
Unser vorgeschlagener Check lässt sich an einem kleinen, kontrollierten Datensatz durchführen:
- Quelle: In welchem Node liegt der Wert wirklich vor?
- Pfad: Stimmen die Schlüsselnamen einschließlich Großschreibung und Sonderzeichen?
- Auswahl: Aktuelles, verknüpftes, erstes oder alle Items?
- Typ: Erwartet der nächste Schritt Text, Zahl, booleschen Wert oder ein Objekt?
- Randfälle: Mehrere Items, fehlendes Feld, null, 0 und leerer Text prüfen.
Kontrolliere die Vorschau mit den für den Ausdruck benötigten Eingabedaten und anschließend deinen eigenen Ausführungsbefund. Die Beispiele hier sind selbst entworfene Übungsdaten. Es wurde kein n8n-Lauf aufgezeichnet; die Grafik erklärt die beabsichtigte Auswahl bei passender Item-Verknüpfung. Bei einem übernommenen Ablauf solltest du außerdem n8n-Vorlagen vor dem Import prüfen, statt Ausdrücke ohne ihre Eingabestruktur zu kopieren.
Vier Probe-Items für deinen Expression-Check
Mit vier eigenen Probe-Items kannst du prüfen, ob dein Ausdruck die Nullmenge erhält und fehlende Angaben unterscheidbar bleiben. Erzeuge sie hinter einem Manual Trigger mit einem JavaScript-Code-Node im Modus Run Once for All Items:
return [
{ json: { case_id: 'zero', body: { quantity: 0 } } },
{ json: { case_id: 'missing', body: {} } },
{ json: { case_id: 'null', body: { quantity: null } } },
{ json: { case_id: 'text', body: { quantity: '0' } } }
];Verwende im nachfolgenden Parameter den Ausdruck {{ $json.body?.quantity ?? null }}. Vergleiche die Vorschau für jedes der vier Items. Wenn das Zielfeld Werte selbst in einen anderen Typ umwandelt, prüfe die Vorschau vor dieser Umwandlung und die tatsächliche Ausgabe getrennt.
| case_id | Eingabe | Erwarteter Wert / Typ |
|---|---|---|
| zero | quantity: 0 | 0 · number |
| missing | quantity fehlt | null · nullwertig |
| null | quantity: null | null · nullwertig |
| text | quantity: "0" | "0" · string |

?? ersetzt den Text "0" nicht durch eine Zahl. Falls dein nächster Schritt eine Menge als Zahl verlangt, ist dafür eine eigene Prüfung nötig. Die JavaScript-Ergebnisse der vier Fälle wurden lokal geprüft; die Darstellung und mögliche Typumwandlung in deiner n8n-Version musst du im verwendeten Feld kontrollieren.
Quellen & Methode
Vorgehen und Grenzen
Mit KI erstellte Dokumentationsanleitung. Vier ausgewählte öffentliche Haupttexte wurden vollständig gelesen und verglichen; die verwendeten technischen Aussagen wurden mit Hersteller- und Sprachreferenzen geprüft. Daten und Grafiken sind eigene Beispiele. Es wurde kein n8n-Workflow ausgeführt und keine produktive Datenverarbeitung gemessen. Gezielte Ergänzung vom 21. Oktober 2026: eigenes Prüfmaterial und zusätzliche FAQ auf Basis des vorhandenen Vier-Quellen-Briefings; neue Aussagen anhand der verlinkten Originalreferenzen geprüft. Keine neue vollständige SERP-Erhebung und keine Ausführung einer n8n- oder Ollama-Instanz.
Bei Recherche, Texterstellung und Grafiken wird KI eingesetzt. Welche eigenen Versuche vorliegen und was nur als Beispiel dient, beschreibt dieser Beitrag. Unser Redaktionsstandard erklärt die Anforderungen an Belege und Berichtigungen.





