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.

    Python herunterladen

    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.
      Installieren Sie Python
    • Fügen Sie der Umgebungsvariablen einen Pfad hinzu.

Prozedur

  1. Melden Sie sich beim Control Room an.
  2. Klicken Sie im linken Fensterbereich auf Automatisierung.
    Eine Liste der verfügbaren Bots und Formulare wird angezeigt.
  3. Klicken Sie auf das Symbol Bot erstellen.
    Erstellen von Bots
  4. Geben Sie in das Feld Name PythonTutorial ein.
  5. Klicken Sie auf Erstellen und bearbeiten.
  6. Klicken Sie im Bereich Aktionen auf Variablen, um die folgenden neuen Variablen zu erstellen:
    1. Name dResponse, Typ > Wörterbuch und Subtyp > Zeichenfolge.
    2. Name dRetrieveValue, Typ > Wörterbuch und Subtyp > Beliebig.
    3. Name dResponseBody, Typ > Zeichenfolge.
    4. Name sFullName, Typ > Zeichenfolge.
    5. Name sLocation, Typ > Zeichenfolge.
    6. Name sTotalUserCount, Typ > Zeichenfolge.
    7. Name nTotalUserCount, Typ > Nummer.
    8. Name nCurrentUser, Typ > Nummer.
    9. Name sCurrentUser, Typ > Zeichenfolge.
    10. Name prompt-assignment, Typ > Zeichenfolge.
  7. Wählen Sie im Bereich Aktionen die REST Web Services > Get-Methode und platzieren Sie sie unter dem Start des Bot-Ablaufs.
    1. 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.
    2. Wählen Sie in der Dropdown-Liste Authentifizierungsmodus die Option Keine Authentifizierung.

      python-rest-sample
    3. Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variable zuweisen die Option dResponse -Wörterbuch der Zeichenfolgen.
  8. Klicken Sie im Bereich Aktionen auf die Aktion Zeichenfolge > Zuordnen und ziehen Sie sie in den Canvas unter die Aktion REST Web Services .
    1. Geben Sie in das Feld Quell-Zeichenfolgenvariable(n)/Wert auswählen $dResponse{Body}$ ein.

      python-string-assign
    2. Wählen Sie in der Dropdown-Liste Wählen Sie die Zielzeichenfolgenvariable dResponseBody - Zeichenfolge aus.
  9. Klicken Sie im Bereich Aktionen auf Python-Skript > Öffnen und ziehen Sie es in den Canvas unter die Aktion Zeichenfolge > Zuordnen.
    1. Wählen Sie im Feld Python die Option Manuelle Eingabe.

      python-script-open
    2. 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']
    3. Behalten Sie im Feld Python-Laufzeitversion den Standardwert 3 bei.
  10. Klicken Sie im Bereich Aktionen auf Python-Skript > Funktion ausführen und ziehen Sie es in den Canvas unter die Aktion Python-Skript > Öffnen .
    1. Behalten Sie im Feld Python-Sitzung Standard bei.
    2. Geben Sie in das Feld Namen der auszuführenden Funktion eingeben get_node_count ein.
    3. Wählen Sie in der Dropdown-Liste Argumente für die Funktion die Option dResponseBody - Zeichenfolge.

      python-execute
    4. Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variablen zuweisen die Option sTotalUserCount - Zeichenfolge.
  11. Klicken Sie im Bereich Aktionen auf Wörterbuch > Setzen und ziehen Sie es in den Canvas unter die Aktion Python-Skript > Öffnen.
    1. Wählen Sie im Feld Wörterbuchvariable die Option dRetrieveValue – Wörterbuch.
    2. Geben Sie in das Feld Diesem Schlüssel zuordnen response ein.
    3. Wählen Sie in der Dropdown-Liste Neuer Wert die Option dResponseBody - Zeichenfolge.
    4. Wählen Sie in der Dropdown-Liste Vorherigen Wert einer Variablen zuweisen die Option Vorherige Zuweisung - Zeichenfolge.

      python-dict-open
  12. Klicken Sie im Bereich Aktionen auf Zeichenfolge > Zu Nummer und ziehen Sie es in den Canvas unter die Aktion Wörterbuch > Setzen.
    1. Geben Sie in das Feld Die Zeichenfolge eingeben $sTotalUserCount$ ein.
    2. Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variablen zuweisen die Option nTotalUserCount - Nummer.
      python-string-tonum
  13. Klicken Sie im Bereich Aktionen auf Schleife > Schleife.
    1. Wählen Sie unter Schleifentyp > Iterator Für n-mal aus der Dropdown-Liste.
    2. Geben Sie in das Feld Mal $nTotalUserCount$ ein.
    3. Wählen Sie in der Dropdown-Liste Den aktuellen Wert einer Variablen zuweisen die Option nCurrentUser - Nummer.
      python-loop
  14. Klicken Sie im Bereich Aktionen auf Nummer, wählen Sie Verringern und platzieren Sie es innerhalb der Aktion Schleife.
    1. Geben Sie in das Feld Nummer eingeben $nCurrentUser$ein.
    2. Geben Sie in das Feld Verringerungswert eingeben 1 ein.
    3. Wählen Sie in der Dropdown-Liste Ausgabe einer Variablen zuweisen die Option nCurrentUser - Nummer.
      python-num-decrement
  15. Klicken Sie im Bereich Aktionen auf Zahl, wählen Sie In Zeichenfolge und platzieren Sie dies innerhalb der Aktion Schleife unter Nummer > Verringern.
    1. Geben Sie in das Feld Eine Nummer eingeben $nCurrentUser$ ein.
    2. Geben Sie 0 in das Feld Anzahl der Stellen hinter dem Komma ein.
    3. Wählen Sie in der Dropdown-Liste Ausgabe einer Variablen zuweisen die Option sCurrentUser - Zeichenfolge.
      python-num-tostring
  16. Klicken Sie im Bereich Aktionen auf Wörterbuch > Setzen und platzieren Sie es innerhalb der Aktion Schleife.
    1. Wählen Sie im Feld Wörterbuchvariable die Option dRetrieveValue – Wörterbuch.
    2. Geben Sie in das Feld Diesem Schlüssel zuordnen count ein.
    3. Wählen Sie in der Dropdown-Liste Neuer Wert die Option sCurrentUser - Zeichenfolge.
    4. Wählen Sie in der Dropdown-Liste Vorherigen Wert einer Variablen zuweisen die Option Vorherige Zuweisung - Zeichenfolge.
      python-dict-put
  17. Klicken Sie im Bereich Aktionen auf Python-Skript > Funktion ausführen und platzieren Sie sie innerhalb der Aktion Schleife.
    1. Behalten Sie im Feld Python-Sitzung Standard bei.
    2. Geben Sie in das Feld Namen der auszuführenden Funktion eingeben get_full_name ein.
    3. Wählen Sie in der Dropdown-Liste Argumente für die Funktion die Option dRetrieveValue – Wörterbuch.
    4. Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variablen zuweisen die Option sFullName - Zeichenfolge.
      python-script-execute
  18. Klicken Sie im Bereich Aktionen auf Python-Skript > Funktion ausführen und platzieren Sie sie innerhalb der Aktion Schleife.
    1. Behalten Sie im Feld Python-Sitzung Standard bei.
    2. Geben Sie in das Feld Namen der auszuführenden Funktion eingeben get_location ein.
    3. Wählen Sie in der Dropdown-Liste Argumente für die Funktion die Option dRetrieveValue – Wörterbuch.
    4. Wählen Sie in der Dropdown-Liste Die Ausgabe einer Variablen zuweisen die Option sLocation - Zeichenfolge.
      python-script-execute-location
  19. Klicken Sie im Bereich Aktionen auf Nachrichtenfeld und platzieren Sie dieses innerhalb der Aktion Schleife.
    1. Geben Sie im Feld Anzuzeigende Nachricht angeben den folgenden Text ein:
      Full Name: $sFullName$ Location: $sLocation$
    2. Wählen Sie Nachrichtenfeld schließen nach > Sekunden und geben Sie 5 ein.
      python msgbox
  20. Klicken Sie im Bereich Aktionen auf Python-Skript > Schließen und platzieren Sie dies außerhalb der Aktion Schleife.
    1. Behalten Sie im Feld Python-Sitzung Standard bei.
      python close
  21. 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).