Verwenden von Python zum Parsen der JSON-Antwort
- Zuletzt aktualisiert2023/04/05
Verwenden von Python zum Parsen der JSON-Antwort
Verwenden Sie das Automation 360-Python-Skript, um Python-Funktionen auszuführen und einen Bot zu erstellen. Verwenden Sie die Python-Funktionen, um die JSON-Antwort einer GET-Anfrage der REST-Webdienste zu analysieren.
Vorbereitungen
Vergewissern Sie sich, dass Sie die folgenden Kompetenzen haben, um den Bot zu erstellen:
- Grundlegende Kenntnisse der Programmiersprache Python.
- Grundlegende Erfahrung mit der Erstellung von Automation Anywhere Bots.
- Laden Sie Python 3 herunter und installieren Sie es.
Führen Sie einen der folgenden Schritte aus:
- Achten Sie bei der Installation von Python darauf, dass Sie Python x.xx zu PATH hinzufügen während der Python-Installation auswählen.
-
Fügen Sie der Umgebungsvariablen einen Pfad hinzu.
- Achten Sie bei der Installation von Python darauf, dass Sie Python x.xx zu PATH hinzufügen während der Python-Installation auswählen.
Prozedur
- Melden Sie sich beim Control Room an.
-
Klicken Sie im linken Fensterbereich auf Automatisierung.
Eine Liste der verfügbaren Bots und Formulare wird angezeigt.
-
Klicken Sie auf das Symbol Bot erstellen.
- Geben Sie in das Feld Name PythonTutorial ein.
- Klicken Sie auf Erstellen und bearbeiten.
-
Klicken Sie im Bereich Aktionen auf Variablen, um die folgenden neuen Variablen zu erstellen:
- Name dResponse, Typ > Wörterbuch und Subtyp > Zeichenfolge.
- Name dRetrieveValue, Typ > Wörterbuch und Subtyp > Beliebig.
- Name dResponseBody, Typ > Zeichenfolge.
- Name sFullName, Typ > Zeichenfolge.
- Name sLocation, Typ > Zeichenfolge.
- Name sTotalUserCount, Typ > Zeichenfolge.
- Name nTotalUserCount, Typ > Nummer.
- Name nCurrentUser, Typ > Nummer.
- Name sCurrentUser, Typ > Zeichenfolge.
- Name prompt-assignment, Typ > Zeichenfolge.
-
Wählen Sie im Bereich Aktionen die REST Web Services > Get-Methode und platzieren Sie sie unter dem Start des Bot-Ablaufs.
-
Geben Sie im Feld URI
https://randomuser.me/api/?results=5&inc=name,email,location&nat=us ein.
Dies ist eine Beispiel-API, die zufällige Benutzerdetails an die aufrufende Anwendung zurückgibt.
-
Wählen Sie in der Dropdown-Liste Authentifizierungsmodus die Option Keine Authentifizierung.
- Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variable zuweisen die Option dResponse -Wörterbuch der Zeichenfolgen.
-
Geben Sie im Feld URI
https://randomuser.me/api/?results=5&inc=name,email,location&nat=us ein.
-
Klicken Sie im Bereich Aktionen auf die Aktion Zeichenfolge > Zuordnen und ziehen Sie sie in den Canvas unter die Aktion REST Web Services .
-
Geben Sie in das Feld Quell-Zeichenfolgenvariable(n)/Wert auswählen
$dResponse{Body}$ ein.
- Wählen Sie in der Dropdown-Liste Wählen Sie die Zielzeichenfolgenvariable dResponseBody - Zeichenfolge aus.
-
Geben Sie in das Feld Quell-Zeichenfolgenvariable(n)/Wert auswählen
$dResponse{Body}$ ein.
-
Klicken Sie im Bereich Aktionen auf Python-Skript > Öffnen und ziehen Sie es in den Canvas unter die Aktion Zeichenfolge > Zuordnen.
-
Wählen Sie im Feld Python die Option Manuelle Eingabe.
-
Kopieren und fügen Sie den Code in das Feld Skript hier eingeben ein.
import json def get_node_count(response): #parse response as json response_dict=json.loads(response) # Create list from JSON body response_body = response_dict['results'] #return the count of entries in JSON body as string lengthasstring = str(len(response_body)) return lengthasstring def get_full_name(dictRequest): itemCount = int(dictRequest['count']) #parse response as json response_dict=json.loads(dictRequest['response']) # Create list from JSON body response_body = response_dict['results'] #Extract values to return return response_body[itemCount]['name']['first'] + " " + response_body[itemCount]['name']['last'] def get_location(dictRequest): itemCount = int(dictRequest['count']) #parse response as json response_dict=json.loads(dictRequest['response']) # Create list from JSON body response_body = response_dict['results'] #Extract values to return return response_body[itemCount]['location']['city'] + ", " + response_body[itemCount]['location']['state']
- Behalten Sie im Feld Python-Laufzeitversion den Standardwert 3 bei.
-
Wählen Sie im Feld Python die Option Manuelle Eingabe.
-
Klicken Sie im Bereich Aktionen auf Python-Skript > Funktion ausführen und ziehen Sie es in den Canvas unter die Aktion Python-Skript > Öffnen .
- Behalten Sie im Feld Python-Sitzung Standard bei.
- Geben Sie in das Feld Namen der auszuführenden Funktion eingeben get_node_count ein.
-
Wählen Sie in der Dropdown-Liste Argumente für die Funktion die Option dResponseBody - Zeichenfolge.
- Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variablen zuweisen die Option sTotalUserCount - Zeichenfolge.
-
Klicken Sie im Bereich Aktionen auf Wörterbuch > Setzen und ziehen Sie es in den Canvas unter die Aktion Python-Skript > Öffnen.
- Wählen Sie im Feld Wörterbuchvariable die Option dRetrieveValue – Wörterbuch.
- Geben Sie in das Feld Diesem Schlüssel zuordnen response ein.
- Wählen Sie in der Dropdown-Liste Neuer Wert die Option dResponseBody - Zeichenfolge.
-
Wählen Sie in der Dropdown-Liste Vorherigen Wert einer Variablen zuweisen die Option Vorherige Zuweisung - Zeichenfolge.
-
Klicken Sie im Bereich Aktionen auf Zeichenfolge > Zu Nummer und ziehen Sie es in den Canvas unter die Aktion Wörterbuch > Setzen.
- Geben Sie in das Feld Die Zeichenfolge eingeben $sTotalUserCount$ ein.
-
Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variablen zuweisen die Option nTotalUserCount - Nummer.
-
Klicken Sie im Bereich Aktionen auf Schleife > Schleife.
- Wählen Sie unter Schleifentyp > Iterator Für n-mal aus der Dropdown-Liste.
- Geben Sie in das Feld Mal $nTotalUserCount$ ein.
-
Wählen Sie in der Dropdown-Liste Den aktuellen Wert einer Variablen zuweisen die Option nCurrentUser - Nummer.
-
Klicken Sie im Bereich Aktionen auf Nummer, wählen Sie Verringern und platzieren Sie es innerhalb der Aktion Schleife.
- Geben Sie in das Feld Nummer eingeben $nCurrentUser$ein.
- Geben Sie in das Feld Verringerungswert eingeben 1 ein.
-
Wählen Sie in der Dropdown-Liste Ausgabe einer Variablen zuweisen die Option nCurrentUser - Nummer.
-
Klicken Sie im Bereich Aktionen auf Zahl, wählen Sie In Zeichenfolge und platzieren Sie dies innerhalb der Aktion Schleife unter Nummer > Verringern.
- Geben Sie in das Feld Eine Nummer eingeben $nCurrentUser$ ein.
- Geben Sie 0 in das Feld Anzahl der Stellen hinter dem Komma ein.
-
Wählen Sie in der Dropdown-Liste Ausgabe einer Variablen zuweisen die Option sCurrentUser - Zeichenfolge.
-
Klicken Sie im Bereich Aktionen auf Wörterbuch > Setzen und platzieren Sie es innerhalb der Aktion Schleife.
- Wählen Sie im Feld Wörterbuchvariable die Option dRetrieveValue – Wörterbuch.
- Geben Sie in das Feld Diesem Schlüssel zuordnen count ein.
- Wählen Sie in der Dropdown-Liste Neuer Wert die Option sCurrentUser - Zeichenfolge.
-
Wählen Sie in der Dropdown-Liste Vorherigen Wert einer Variablen zuweisen die Option Vorherige Zuweisung - Zeichenfolge.
-
Klicken Sie im Bereich Aktionen auf Python-Skript > Funktion ausführen und platzieren Sie sie innerhalb der Aktion Schleife.
- Behalten Sie im Feld Python-Sitzung Standard bei.
- Geben Sie in das Feld Namen der auszuführenden Funktion eingeben get_full_name ein.
- Wählen Sie in der Dropdown-Liste Argumente für die Funktion die Option dRetrieveValue – Wörterbuch.
-
Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variablen zuweisen die Option sFullName - Zeichenfolge.
-
Klicken Sie im Bereich Aktionen auf Python-Skript > Funktion ausführen und platzieren Sie sie innerhalb der Aktion Schleife.
- Behalten Sie im Feld Python-Sitzung Standard bei.
- Geben Sie in das Feld Namen der auszuführenden Funktion eingeben get_location ein.
- Wählen Sie in der Dropdown-Liste Argumente für die Funktion die Option dRetrieveValue – Wörterbuch.
-
Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variablen zuweisen die Option sLocation - Zeichenfolge.
-
Klicken Sie im Bereich Aktionen auf Nachrichtenfeld und platzieren Sie dieses innerhalb der Aktion Schleife.
-
Geben Sie im Feld Anzuzeigende Nachricht angeben den folgenden Text ein:
Full Name: $sFullName$ Location: $sLocation$
-
Wählen Sie Nachrichtenfeld schließen nach > Sekunden und geben Sie 5 ein.
-
Geben Sie im Feld Anzuzeigende Nachricht angeben den folgenden Text ein:
-
Klicken Sie im Bereich Aktionen auf Python-Skript > Schließen und platzieren Sie dies außerhalb der Aktion Schleife.
-
Behalten Sie im Feld Python-Sitzung
Standard bei.
-
Behalten Sie im Feld Python-Sitzung
Standard bei.
-
Klicken Sie auf Speichern, um Ihren
Bot
zu speichern, und dann auf Ausführen.
Der Bot wird ausgeführt und zeigt fünf vollständige Benutzernamen mit Standorten für jeweils ca. 5 Sekunden an, bevor er seine erfolgreiche Ausführung beendet.
Wenn Sie eine Meldung Bot-Fehler erhalten, finden Sie in den folgenden Abschnitten eine Lösung: Getting Bot Error while executing Python Script/Function (A-People login required), Getting Bot Error or True value in message box while executing Python Script (A-People login required) oder An unexpected error occurred while executing Python Script command; Error code: bot.execution.error (A-People login required).