Utilisation de Python pour analyser une réponse JSON

Utilisez le script Python Automation 360 pour exécuter les fonctions Python afin de générer un robot. Utilisez les fonctions Python pour analyser la réponse JSON à partir d'une demande GET des services Web REST.

Prérequis

Assurez-vous que vous disposez des éléments suivants pour générer le robot :

  • Compréhension de base du langage de programmation Python.
  • Expérience de base dans la création de Automation Anywhere robots.
  • Téléchargez et installez Python 3.

    télécharger Python

    Effectuez l'une des options suivantes :

    • Pendant l'installation de Python, assurez-vous de sélectionner Ajouter Python x.xx à PATH pendant l'installation de Python.
      Installer Python
    • Ajoutez un chemin d'accès à la variable Environnement.

Procédure

  1. Connectez-vous à la Control Room.
  2. Dans le volet de gauche, cliquez sur Automatisation.
    La liste des robots et des formulaires disponibles s'affiche.
  3. Cliquez sur l'icône Créer un robot.
    Création d'un robot
  4. Dans le champ Nom, saisissez PythonTutorial.
  5. Cliquez sur Créer et modifier.
  6. Dans le volet Actions, cliquez sur Variables pour créer les nouvelles variables suivantes :
    1. Nom dResponse, Type > Dictionnaire et Sous-type > Chaîne.
    2. Nom dRetrieveValue, Type > Dictionnaire et Sous-type > Tout.
    3. Nom dResponseBody, Type > Chaîne.
    4. Nom sFullName, Type > Chaîne.
    5. Nom sLocation, Type > Chaîne.
    6. Nom sTotalUserCount, Type > Chaîne.
    7. Nom nTotalUserCount, Type > Nombre.
    8. Nom nCurrentUser, Type > Nombre.
    9. Nom sCurrentUser, Type > Chaîne.
    10. Nom prompt-assignment, Type > Chaîne.
  7. Dans le volet Actions, sélectionnez Services Web REST > Obtenir la méthode et placez-la sous Démarrer dans le flux robot.
    1. Dans le champ URI, entrez https://randomuser.me/api/?results=5&inc=name,email,location&nat=us.
      Il s'agit d'un exemple d'API qui renvoie des détails d'utilisateur aléatoires à l'application appelante.
    2. Dans la liste déroulante Mode d'authentification, sélectionnez Aucune authentification.

      python-rest-sample
    3. Dans la liste déroulante Attribuer le résultat à une variable, sélectionnez dRéponse -Dictionnaire des Chaînes.
  8. Dans le volet Actions, cliquez sur l'action Chaîne > Attribuer et faites-la glisser dans la toile sous l'action Services Web REST.
    1. Dans le champ Sélectionner la valeur de la variable de chaîne source, saisissez $dResponse{Body}$.

      python-string-assign
    2. Dans la liste déroulante Sélectionner la variable de chaîne de destination sélectionnez dCorpsderéponse - Chaîne.
  9. Dans le volet Actions, cliquez sur Script Python > Ouvriret faites-le glisser dans la toile sous l'action Assigner de la > Chaîne.
    1. Dans le champ Python, sélectionnez Entrée manuelle.

      python-script-open
    2. Copiez et collez le texte suivant dans le champ Entrer le script ici.
      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. Dans le champ Version d'exécution Python, conservez la valeur par défaut 3.
  10. Dans le volet Actions, cliquez sur Script Python > Exécuter la fonction et faites-le glisser dans la toile sous l'action Ouvrir > Script Python.
    1. Dans le champ Session Python, conservez Par défaut.
    2. Dans le champ Entrer le nom de la fonction à exécuter, saisissez get_node_count.
    3. Dans la liste déroulante Arguments pour la fonction, sélectionnez dCorpsderéponse - Chaîne.

      python-execute
    4. Dans la liste déroulante Attribuer le résultat à une variable, sélectionnez sNombretotald'utilisateurs - Chaîne.
  11. Dans le volet Actions, cliquez sur Dictionnaire > Placer et faites-le glisser dans la toile sous l'action Ouvrir > Script Python.
    1. Dans le champ Variable de dictionnaire, sélectionnez dRécupérerlavaleur - Dictionnaire.
    2. Dans le champ Associer à cette clé, saisissez response.
    3. Dans la liste déroulante Nouvelle valeur, sélectionnez dCorpsderéponse - Chaîne.
    4. Dans la liste déroulante Attribuer la valeur précédente à une variable, sélectionnez attribution d'invite - Chaîne.

      python-dict-open
  12. Dans le volet Actions, cliquez sur Chaîne > En nombre et faites-la glisser dans la toile, sous l'action Placer > Dictionnaire .
    1. Dans le champ Entrer la chaîne, saisissez $sTotalUserCount$.
    2. Dans la liste déroulante Attribuer la sortie à une variable, sélectionnez nNombretotald'utilisateurs - Nombre.
      python-string-tonum
  13. Dans le volet Actions, cliquez sur Boucle > Boucle.
    1. Dans l'itérateur > Type de boucle, sélectionnez Pour n fois dans la liste déroulante.
    2. Dans le champ des heures, saisissez $nTotalUserCount$.
    3. Dans la liste déroulante Attribuer la valeur actuelle à une variable, sélectionnez nUtilisateurActuel - Nombre.
      python-loop
  14. Dans le volet Actions, cliquez sur Nombre, sélectionnez Décrément et placez-le dans l'action Boucle.
    1. Dans le champ Entrer un nombre, saisissez $nCurrentUser$.
    2. Dans le champ Entrer la valeur de décrément, saisissez 1.
    3. Dans la liste déroulante Attribuer la sortie à une variable, sélectionnez nUtilisateurActuel - Nombre.
      python-num-decrement
  15. Dans le volet Actions, cliquez sur Nombre, sélectionnez À chaîne et placez-le à l'intérieur de l'action Boucle, sous Décrément > de nombre.
    1. Dans le champ Entrer un nombre, saisissez $nCurrentUser$.
    2. Dans le champ Saisir le nombre de chiffres après la décimale, saisissez 0.
    3. Dans la liste déroulante Attribuer la sortie à une variable, sélectionnez sUtilisateuractuel - Chaîne.
      python-num-tostring
  16. Dans le volet Action, cliquez sur Placer > Dictionnaire et placez-le à l'intérieur de l'action Boucle.
    1. Dans le champ Variable de dictionnaire, sélectionnez dRécupérerlavaleur - Dictionnaire.
    2. Dans le champ Associer à cette clé, saisissez count.
    3. Dans la liste déroulante Nouvelle valeur, sélectionnez sUtilisateuractuel - Chaîne.
    4. Dans la liste déroulante Attribuer la valeur précédente à une variable, sélectionnez attribution d'invite - Chaîne.
      python-dict-put
  17. Dans le volet Actions, cliquez sur la Script Python > Exécuter une fonction et placez-la dans l'action Boucle.
    1. Dans le champ Session Python, conservez Par défaut.
    2. Dans le champ Entrer le nom de la fonction à exécuter, saisissez get_full_name.
    3. Dans la liste déroulante Arguments pour la fonction, sélectionnez dRécupérer la valeur - Dictionnaire.
    4. Dans la liste déroulante Attribuer le résultat à une variable, sélectionnez sNomcomplet - Chaîne.
      python-script-execute
  18. Dans le volet Actions, cliquez sur la Script Python > Exécuter une fonction et placez-la dans l'action Boucle.
    1. Dans le champ Session Python, conservez Par défaut.
    2. Dans le champ Entrer le nom de la fonction à exécuter, saisissez get_location.
    3. Dans la liste déroulante Arguments pour la fonction, sélectionnez dRécupérer la valeur - Dictionnaire.
    4. Dans la liste déroulante Attribuer le résultat à une variable, sélectionnez sEmplacement - Chaîne.
      python-script-execute-location
  19. Dans le volet Actions, cliquez sur Zone de message et placez-la à l'intérieur de l'action Boucle.
    1. Dans le champ Entrer le message à afficher, saisissez les informations suivantes :
      Full Name: $sFullName$ Location: $sLocation$
    2. Sélectionnez Fermer la zone de message après > secondes, puis saisissez 5.
      python msgbox
  20. Dans le volet Actions, cliquez sur Script Python > Fermer et placez-le en dehors de l'action Boucle.
    1. Dans le champ Session Python, conservez Par défaut.
      python close
  21. Cliquez sur Enregistrer pour enregistrer votre robot, puis cliquez sur Exécuter.
    Le robot s'exécute, affichant cinq noms d'utilisateur complets avec des emplacements pendant environ 5 secondes chacun avant de terminer son exécution réussie.

Si vous obtenez un message Bot Error, consultez les sections suivantes pour trouver une solution : Le message « erreur du robot » apparaît lors de l'exécution d'un script ou d'une fonction Python (connexion à A-People requise), Réception du message « erreur du robot » ou « valeur true » dans la zone de message lors de l'exécution d'un script Python (connexion à A-People requise) ou Une erreur inattendue s'est produite lors de l'exécution d'une commande de script Python ; Code d'erreur : bot.execution.error (connexion à A-People requise).