JSON-Schema, das null verträgt
Quizfrage
Parse JSON scheitert an «Expected String but got Null». Was hilft?
Auflösung
- A) Das Feld zusätzlich in die Liste required setzenFalsch. required prüft nur, ob das Feld vorhanden ist. Am Typfehler bei null ändert das nichts.
- B) Den Typ als Liste mit string und null angebenRichtig. Mit ["string", "null"] akzeptiert das Schema Text und null, die Prüfung besteht.
- C) Das Schema aus einer neuen Beispielantwort erzeugenFalsch. Ein neues Beispiel liefert wieder genau einen Typ pro Feld. Beim nächsten null scheitert die Prüfung erneut.
Worum es geht
Parse JSON prüft jede Antwort gegen ein Schema. Erzeugst du das Schema aus einer Beispielantwort, legt der Designer für jedes Feld genau einen Typ fest, etwa string. Kommt später ein Feld mit null, scheitert die Aktion mit «Invalid type. Expected String but got Null.» Die Lösung ist eine Typliste: "type": ["string", "null"] akzeptiert Text und null. Fehlt ein Feld manchmal ganz, nimmst du es aus der Liste required. Kann beides vorkommen, machst du beides. Die genaue Ursache einer gescheiterten Prüfung steht in den Ausgaben der Aktion im Array errors. Der Lauf selbst meldet nur, dass die Schemaprüfung gescheitert ist.
Der Ausdruck aus dem Tipp
"type": ["string", "null"]Wann einsetzen, wann nicht
Einsetzen
Bei Antworten von Schnittstellen und Formularen, in denen Felder leer bleiben dürfen.
Lieber nicht
Bei Feldern, die nie leer sein dürfen. Dort soll die Schemaprüfung scheitern und den Fehler zeigen.
Häufigster Fehler
Nur die Fehlermeldung des Laufs lesen. Die genaue Ursache steht in den Ausgaben von Parse JSON im Array errors.
Lizenz
Standard Läuft ohne Premium-Connector, also mit der Lizenz aus Microsoft 365. Beleg bei Microsoft Learn: Power Automate licensing FAQ. Für deinen ganzen Flow: Lizenz-Check.
Lieber mit Begleitung? Der Live-Kurs Power Automate der Power Platform Academy führt in vier Wochen von den Grundlagen bis zu Error Handling und Scopes.
Teilen
Kurzadresse: powerautomate.ninja/104
Quelle: PowerPlatformTip #104, Microsoft Learn: Use data operations in Power Automate.