Uso de Python para analizar la respuesta JSON

Utilice la Automation 360 secuencia de comandos Python para ejecutar las funciones de Python para crear un bot. Utilice las funciones de Python para analizar la respuesta JSON de una solicitud OBTENER de REST Web Services.

Antes de empezar

Asegúrese de tener lo siguiente para compilar el bot:

  • Comprensión básica del lenguaje de programación Python.
  • Experiencia básica en la creación de Automation Anywhere bots.
  • Descargue e instale Python 3.

    descargar Python

    Realice cualquiera de las opciones siguientes:

    • Durante la instalación de Python, asegúrese de seleccionar Agregar Python x.xx a RUTA.
      Instalar Python
    • Agregue una ruta a la variable de entorno.

Procedimiento

  1. Inicie sesión en el Control Room.
  2. En el panel izquierdo, haga clic en Automatización.
    Se muestra la lista de formularios y bots disponibles.
  3. Haga clic en el ícono Crear un bot.
    Crear una instancia de bot
  4. En el campo Nombre, introduzca PythonTutorial.
  5. Haga clic en Crear y editar.
  6. En el panel Acciones, haga clic en Variables para crear las siguientes nuevas variables:
    1. Nombre dResponse, Tipo > Diccionario y Subtipo > Cadena.
    2. Nombre dRetrieveValue, Tipo > Diccionario y Subtipo > Cualquiera.
    3. Nombre dResponseBody, Tipo > Cadena.
    4. Nombre sFullName, Tipo > Cadena.
    5. Nombre sLocation, Tipo > Cadena.
    6. Nombre sTotalUserCount, Tipo > Cadena.
    7. Nombre nTotalUserCount, Tipo > Número.
    8. Nombre nCurrentUser, Tipo > Número.
    9. Nombre sCurrentUser, Tipo > Cadena.
    10. Nombre prompt-assignment, Tipo > Cadena.
  7. En el panel Acciones, seleccione Servicios web REST > Método Get y colóquelo debajo de Inicio del flujo del bot.
    1. En el campo URI, ingrese https://randomuser.me/api/?results=5&inc=name,email,location&nat=us.
      Esta es una API de muestra que devuelve detalles de usuario aleatorios a la aplicación que llama.
    2. En la lista desplegable Modo de autenticación, seleccione Sin autenticación.

      python-rest-sample
    3. En la lista desplegable Asignar la salida a una variable, seleccione dResponse - Diccionario de cadenas.
  8. En el panel Acciones, haga clic en la acción Cadena > Asignar y arrástrela al lienzo debajo de la acción Servicios Web REST.
    1. En el campo Seleccionar el valor de variable de cadena de origen, ingrese $dResponse{Body}$.

      python-string-assign
    2. En la lista desplegable Seleccionar la variable de cadena de destino, seleccione dResponseBody - Cadena.
  9. En el panel Acciones, haga clic en Secuencia de comandos Python > Abrir y arrástrela al lienzo debajo de la acción Cadena > Asignar.
    1. En el campo Python, seleccione Entrada manual.

      python-script-open
    2. Copie y pegue el siguiente código en el campo Introducir script aquí.
      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. En el campo Versión de tiempo de ejecución de Python, conserve el valor predeterminado como 3.
  10. En el panel Acciones, haga clic en Secuencia de comandos Python > Ejecutar función y arrástrela al lienzo debajo de la acción Secuencia de comandos Python > Abrir.
    1. En el campo Sesión de Python, conserve Predeterminado.
    2. En el campo Ingresar el nombre de la función que se ejecutará, ingrese get_node_count.
    3. En la lista desplegable Argumentos a la función, seleccione dResponseBody - Cadena.

      python-execute
    4. En la lista desplegable Asignar la salida a una variable, seleccione sTotalUserCount - Cadena.
  11. En el panel Acciones, haga clic en Diccionario > Colocar y arrástrela al lienzo debajo de la acción Secuencia de comandos Python > Abrir.
    1. En el campo Variable de diccionario, seleccione dRetrieveValue -Diccionario.
    2. En el campo Asociar a esta clave, ingrese response.
    3. En la lista desplegable Valor nuevo, seleccione dResponseBody - Cadena.
    4. En la lista desplegable Asignar valor anterior a una variable, seleccione prompt-assignment - Cadena.

      python-dict-open
  12. En el panel Acciones, haga clic en Cadena > A número y arrástrela al lienzo debajo de la acción Diccionario > Colocar.
    1. En el campo Ingresar la cadena, ingrese $sTotalUserCount$.
    2. En la lista desplegable Asignar la salida a una variable, seleccione nTotalUserCount - Número.
      python-string-tonum
  13. Desde el panel Acciones, haga clic en Bucle > Bucle.
    1. En la Tipo de bucle > Iterador, seleccione Durante n veces desde la lista desplegable.
    2. En el campo veces, ingrese $nTotalUserCount$.
    3. En la lista desplegable Asignar el valor actual a una variable, seleccione nCurrentUser - Número.
      python-loop
  14. En el panel Acciones, haga clic en Número, seleccione Decrementar y colóquelo dentro de la acción Bucle.
    1. En el campo Ingresar número, ingrese $nCurrentUser$.
    2. En el campo Ingresar valor decreciente, ingrese 1.
    3. En la lista desplegable Asignar salida a una variable, seleccione nCurrentUser - Número.
      python-num-decrement
  15. En el panel Acciones, haga clic en Número, seleccione A cadena y colóquela dentro de la acción Bucle, debajo de Número > Decrementar.
    1. En el campo Escribir un número, ingrese $nCurrentUser$.
    2. En el campo Escribir número de dígitos después de decimal, ingrese 0.
    3. En la lista desplegable Asignar salida a una variable, seleccione sCurrentUser - Cadena.
      python-num-tostring
  16. En el panel Acciones, haga clic en Diccionario > Colocar y colóquelo dentro de la acción Bucle.
    1. En el campo Variable de diccionario, seleccione dRetrieveValue -Diccionario.
    2. En el campo Asociar a esta clave, ingrese count.
    3. En la lista desplegable Valor nuevo, seleccione sCurrentUser - Cadena.
    4. En la lista desplegable Asignar valor anterior a una variable, seleccione prompt-assignment - Cadena.
      python-dict-put
  17. En el panel Acciones, haga clic en Secuencia de comandos Python > Ejecutar función y colóquela dentro de la acción Bucle.
    1. En el campo Sesión de Python, conserve Predeterminado.
    2. En el campo Ingresar el nombre de la función que se ejecutará, ingrese get_full_name.
    3. En la lista desplegable Argumentos de la función, seleccione dRetrieveValue - Diccionario.
    4. En la lista desplegable Asignar la salida a una variable, seleccione sFullName - Cadena.
      python-script-execute
  18. En el panel Acciones, haga clic en Secuencia de comandos Python > Ejecutar función y colóquela dentro de la acción Bucle.
    1. En el campo Sesión de Python, conserve Predeterminado.
    2. En el campo Ingresar el nombre de la función que se ejecutará, ingrese get_location.
    3. En la lista desplegable Argumentos de la función, seleccione dRetrieveValue - Diccionario.
    4. En la lista desplegable Asignar la salida a una variable, seleccione sLocation - Cadena.
      python-script-execute-location
  19. En el panel Acciones, haga clic en Cuadro de mensaje y colóquelo dentro de la acción Bucle.
    1. En el campo Escribir el mensaje para mostrar, escriba lo siguiente:
      Full Name: $sFullName$ Location: $sLocation$
    2. Seleccione Cerrar cuadro de mensaje después de > Segundos y escriba 5.
      python msgbox
  20. En el panel Acciones, haga clic en Secuencia de comandos Python > Cerrar y colóquelo fuera de la acción Bucle.
    1. En el campo Sesión de Python, conserve Predeterminado.
      python close
  21. Haga clic en Guardar para guardar su bot y, luego, haga clic en Ejecutar.
    El bot se ejecuta y muestra cinco nombres de usuario completos con ubicaciones durante aproximadamente 5 segundos cada uno antes de completar su ejecución exitosa.

Si aparece un mensaje de error de bot, consulte las siguientes secciones para obtener una solución: 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) o An unexpected error occurred while executing Python Script command; Error code: bot.execution.error (A-People login required).