PowerApp JSON Parsing Error: Erwartet Zahl, aber String erhalten – Was bedeutet das und wie behebt man es?
- Ursache des Fehlers
- Warum ist der Typ wichtig?
- Typische Szenarien für den Fehler
- Wie behebt man den Fehler?
- Zusammenfassung
Ursache des Fehlers
In PowerApps kann beim Verarbeiten von JSON-Daten der Fehler auftreten, dass ein Wert als Zahl erwartet wird, jedoch eine Zeichenkette (String) übergeben wird. Dies passiert häufig, wenn Daten aus einer externen Quelle importiert werden oder bei der Verwendung der Funktion JSON-Parsing, bei der die Typen der einzelnen Werte nicht exakt übereinstimmen. JSON ist ein textbasiertes Datenformat, in dem Werte unterschiedliche Typen haben können: Zahlen, Strings, Booleans usw. Wenn die PowerApp einen Wert als Zahl interpretieren möchte, dieser aber in Anführungszeichen steht (also als String übergeben wird), führt das zu einem Parsing-Fehler.
Warum ist der Typ wichtig?
Die Typen in JSON sind entscheidend für die korrekte Verarbeitung der Daten. Eine Zahl ohne Anführungszeichen wird von PowerApps intern als numerischer Wert erkannt und kann für Berechnungen, Bedingungen oder Datentransformation verwendet werden. Steht die Zahl allerdings in Anführungszeichen, behandelt PowerApps sie als Zeichenfolge. Wenn dann eine mathematische Operation oder eine Funktion folgt, die Zahlen erwartet, wird PowerApps diese nicht automatisch konvertieren können und meldet den Parsing-Fehler.
Typische Szenarien für den Fehler
Der Fehler kann beispielsweise beim Import von Daten aus SharePoint, Excel oder anderen Datenquellen auftreten, die numerische Werte als Text gespeichert haben. Auch bei der manuellen Erstellung von JSON-Strings oder bei dynamisch in PowerApps zusammengesetzten JSON-Objekten kann eine inkorrekte Typzuweisung geschehen. Ebenso können Probleme auftreten, wenn Daten von APIs zurückkommen und die Werte nicht im erwarteten Typ vorliegen.
Wie behebt man den Fehler?
Die Lösung liegt darin, sicherzustellen, dass die JSON-Daten die korrekten Datentypen verwenden. Zahlenwerte dürfen nicht in Anführungszeichen stehen. Wenn man JSON in PowerApps generiert, sollte man darauf achten, dass numerische Werte als Zahlen übergeben werden. Falls die Datenquelle Textwerte enthält, die Zahlen repräsentieren, müssen diese mit Funktionen wie Value() in echte Zahlen umgewandelt werden. Beim Parsen kann es hilfreich sein, die JSON-Daten vor der Verwendung zu kontrollieren und gegebenenfalls Typkonvertierungen vorzunehmen.
Zusammenfassung
Der "powerapp json parsing error expected number but got string" entsteht durch eine Typinkompatibilität zwischen erwarteten numerischen Werten und tatsächlich als String formatierten Daten. Die Behebung erfordert die sorgfältige Prüfung der Datenquellen und ggf. die Konvertierung von Strings in Zahlen mittels PowerApps-Funktionen. Damit wird der korrekte Datentyp sichergestellt und der Parsing-Fehler vermieden.
