Utilisation de Python pour analyser une réponse JSON
- Dernière mise à jour2023/04/05
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.
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.
-
Ajoutez un chemin d'accès à la variable Environnement.
- Pendant l'installation de Python, assurez-vous de sélectionner Ajouter Python x.xx à PATH pendant l'installation de Python.
Procédure
- Connectez-vous à la Control Room.
-
Dans le volet de gauche, cliquez sur Automatisation.
La liste des robots et des formulaires disponibles s'affiche.
-
Cliquez sur l'icône Créer un robot.
- Dans le champ Nom, saisissez PythonTutorial.
- Cliquez sur Créer et modifier.
-
Dans le volet Actions, cliquez sur Variables pour créer les nouvelles variables suivantes :
- Nom dResponse, Type > Dictionnaire et Sous-type > Chaîne.
- Nom dRetrieveValue, Type > Dictionnaire et Sous-type > Tout.
- Nom dResponseBody, Type > Chaîne.
- Nom sFullName, Type > Chaîne.
- Nom sLocation, Type > Chaîne.
- Nom sTotalUserCount, Type > Chaîne.
- Nom nTotalUserCount, Type > Nombre.
- Nom nCurrentUser, Type > Nombre.
- Nom sCurrentUser, Type > Chaîne.
- Nom prompt-assignment, Type > Chaîne.
-
Dans le volet Actions, sélectionnez Services Web REST > Obtenir la méthode et placez-la sous Démarrer dans le flux robot.
-
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.
-
Dans la liste déroulante Mode d'authentification, sélectionnez Aucune authentification.
- Dans la liste déroulante Attribuer le résultat à une variable, sélectionnez dRéponse -Dictionnaire des Chaînes.
-
Dans le champ URI, entrez https://randomuser.me/api/?results=5&inc=name,email,location&nat=us.
-
Dans le volet Actions, cliquez sur l'action Chaîne > Attribuer et faites-la glisser dans la toile sous l'action Services Web REST.
-
Dans le champ Sélectionner la valeur de la variable de chaîne source, saisissez $dResponse{Body}$.
- Dans la liste déroulante Sélectionner la variable de chaîne de destination sélectionnez dCorpsderéponse - Chaîne.
-
Dans le champ Sélectionner la valeur de la variable de chaîne source, saisissez $dResponse{Body}$.
-
Dans le volet Actions, cliquez sur Script Python > Ouvriret faites-le glisser dans la toile sous l'action Assigner de la > Chaîne.
-
Dans le champ Python, sélectionnez Entrée manuelle.
-
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']
- Dans le champ Version d'exécution Python, conservez la valeur par défaut 3.
-
Dans le champ Python, sélectionnez Entrée manuelle.
-
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.
- Dans le champ Session Python, conservez Par défaut.
- Dans le champ Entrer le nom de la fonction à exécuter, saisissez get_node_count.
-
Dans la liste déroulante Arguments pour la fonction, sélectionnez dCorpsderéponse - Chaîne.
- Dans la liste déroulante Attribuer le résultat à une variable, sélectionnez sNombretotald'utilisateurs - Chaîne.
-
Dans le volet Actions, cliquez sur Dictionnaire > Placer et faites-le glisser dans la toile sous l'action Ouvrir > Script Python.
- Dans le champ Variable de dictionnaire, sélectionnez dRécupérerlavaleur - Dictionnaire.
- Dans le champ Associer à cette clé, saisissez response.
- Dans la liste déroulante Nouvelle valeur, sélectionnez dCorpsderéponse - Chaîne.
-
Dans la liste déroulante Attribuer la valeur précédente à une variable, sélectionnez attribution d'invite - Chaîne.
-
Dans le volet Actions, cliquez sur Chaîne > En nombre et faites-la glisser dans la toile, sous l'action Placer > Dictionnaire .
- Dans le champ Entrer la chaîne, saisissez $sTotalUserCount$.
-
Dans la liste déroulante Attribuer la sortie à une variable, sélectionnez nNombretotald'utilisateurs - Nombre.
-
Dans le volet Actions, cliquez sur Boucle > Boucle.
- Dans l'itérateur > Type de boucle, sélectionnez Pour n fois dans la liste déroulante.
- Dans le champ des heures, saisissez $nTotalUserCount$.
-
Dans la liste déroulante Attribuer la valeur actuelle à une variable, sélectionnez nUtilisateurActuel - Nombre.
-
Dans le volet Actions, cliquez sur Nombre, sélectionnez Décrément et placez-le dans l'action Boucle.
- Dans le champ Entrer un nombre, saisissez $nCurrentUser$.
- Dans le champ Entrer la valeur de décrément, saisissez 1.
-
Dans la liste déroulante Attribuer la sortie à une variable, sélectionnez nUtilisateurActuel - Nombre.
-
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.
- Dans le champ Entrer un nombre, saisissez $nCurrentUser$.
- Dans le champ Saisir le nombre de chiffres après la décimale, saisissez 0.
-
Dans la liste déroulante Attribuer la sortie à une variable, sélectionnez sUtilisateuractuel - Chaîne.
-
Dans le volet Action, cliquez sur Placer > Dictionnaire et placez-le à l'intérieur de l'action Boucle.
- Dans le champ Variable de dictionnaire, sélectionnez dRécupérerlavaleur - Dictionnaire.
- Dans le champ Associer à cette clé, saisissez count.
- Dans la liste déroulante Nouvelle valeur, sélectionnez sUtilisateuractuel - Chaîne.
-
Dans la liste déroulante Attribuer la valeur précédente à une variable, sélectionnez attribution d'invite - Chaîne.
-
Dans le volet Actions, cliquez sur la Script Python > Exécuter une fonction et placez-la dans l'action Boucle.
- Dans le champ Session Python, conservez Par défaut.
- Dans le champ Entrer le nom de la fonction à exécuter, saisissez get_full_name.
- Dans la liste déroulante Arguments pour la fonction, sélectionnez dRécupérer la valeur - Dictionnaire.
-
Dans la liste déroulante Attribuer le résultat à une variable, sélectionnez sNomcomplet - Chaîne.
-
Dans le volet Actions, cliquez sur la Script Python > Exécuter une fonction et placez-la dans l'action Boucle.
- Dans le champ Session Python, conservez Par défaut.
- Dans le champ Entrer le nom de la fonction à exécuter, saisissez get_location.
- Dans la liste déroulante Arguments pour la fonction, sélectionnez dRécupérer la valeur - Dictionnaire.
-
Dans la liste déroulante Attribuer le résultat à une variable, sélectionnez sEmplacement - Chaîne.
-
Dans le volet Actions, cliquez sur Zone de message et placez-la à l'intérieur de l'action Boucle.
-
Dans le champ Entrer le message à afficher, saisissez les informations suivantes :
Full Name: $sFullName$ Location: $sLocation$
-
Sélectionnez Fermer la zone de message après > secondes, puis saisissez 5.
-
Dans le champ Entrer le message à afficher, saisissez les informations suivantes :
-
Dans le volet Actions, cliquez sur Script Python > Fermer et placez-le en dehors de l'action Boucle.
-
Dans le champ Session Python, conservez Par défaut.
-
Dans le champ Session Python, conservez Par défaut.
-
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 : 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) ou An unexpected error occurred while executing Python Script command; Error code: bot.execution.error (A-People login required).