Undefinierte Ausdrücke

Warum gibt mein Ausdruck undefined zurück, obwohl das Feld existiert

Problem/Fehler/Frage beschreiben

Welche Fehlermeldung erhalten Sie (falls vorhanden)?

Bitte teilen Sie Ihren Workflow

(Wählen Sie die Knoten auf Ihrer Canvas aus und verwenden Sie die Tastenkombinationen CMD+C/STRG+C und CMD+V/STRG+V zum Kopieren und Einfügen des Workflows.)

Geben Sie die Ausgabe des letzten Knotens an

Informationen zu Ihrem n8n-Setup

  • n8n-Version:
  • Datenbank (Standard: SQLite):
  • n8n-EXECUTIONS_PROCESS-Einstellung (Standard: own, main):
  • n8n ausführen über (Docker, npm, n8n cloud, Desktop-App):
  • Betriebssystem:

@Oscar_Abaleke In neun von zehn Fällen stimmt der Expression-Pfad nicht mit der tatsächlichen JSON-Struktur überein. Die Punkt-Notation wie {{ $json.field }} erreicht nur ein echtes verschachteltes Kind-Element. Wenn dein Schlüssel ein Leerzeichen oder einen Punkt im Namen enthält, wird undefined zurückgegeben und du brauchst die Klammer-Notation mit dem genauen Schlüssel, {{ $json[‘your field’] }}. Das andere häufige Problem ist, dass sich das Feld tatsächlich auf einem früheren Node befindet und nicht auf der unmittelbaren Eingabe, also $json zeigt auf den falschen Schritt. Kannst du die genaue Expression, die du verwendest, und einen Screenshot des Input-Panels für diesen Node posten, damit ich den echten Schlüssel sehen kann?

Hallo @Oscar_Abaleke

Die Hauptursache ist, dass das Feld möglicherweise von einem vorgelagerten Set-, Edit Fields- oder Code-Node entfernt oder geändert wurde.

Überprüfe die Datenausgabe des vorherigen Nodes, ob „Keep Only Set Fields

wenn der Ausdruck gültig ist, verwende den Knotennamen „everything

Noch eine Sache zum Überprüfen: Wenn das Feld in einem Node vorhanden ist, der nicht direkt mit dem aktuellen Node in der Kette verbunden ist, erreichen die Standard-Ausdrücke $json.fieldName oder $item().json.fieldName es nicht. Du müsstest $('Node Name').item.json.fieldName verwenden, um Daten von einem bestimmten vorgelagerten Node nach Name zu ziehen.

Auch – wenn die Ausdrucksvorschau im Editor undefined anzeigt, aber der Workflow einwandfrei läuft (oder einen Wert in der Ausführungsausgabe zeigt), bedeutet das normalerweise, dass der Editor Daten aus einem älteren Durchlauf verwendet. Führe den vorgelagerten Node manuell erneut aus, damit der Editor aktuelle Daten zur Evaluierung zur Verfügung hat.