阅读和查看 Automation Anywhere 文档

Automation Anywhere Automation 360

关闭内容

内容

打开内容

使用 Python 构建 bot 以解析 JSON 响应

  • 已更新:11/16/2020
    • Automation 360 v.x
    • 版本
    • RPA 工作区

使用 Python 构建 bot 以解析 JSON 响应

使用 Automation 360 Python 脚本执行 Python 功能以构建 bot。使用 Python 函数从 REST Web 服务 GET 请求解析 JSON 响应。

先决条件

确保您具备以下功能以构建 bot

  • 对 Python 编程语言的基本理解。
  • 创建 Automation Anywhere bots 的基本经验。
  • 下载并安装 Python 3。

    下载 Python

    在 Python 安装期间,向环境变量添加路径,然后选择将 Python 3.8 添加到 PATH

过程

  1. 登录到 Control Room
  2. 转到机器人 > 我的机器人,然后单击创建机器人图标。
  3. 名称字段中,输入 PythonTutorial
  4. 单击创建和编辑
  5. 在操作窗格中,单击变量以创建以下新变量:
    1. 名称 dResponse类型 > 字典子类型 > 字符串
    2. 名称 dRetrieveValue类型 > 字典子类型 > 任意
    3. 名称 sResponseBody类型 > 字符串
    4. 名称 sFullName类型 > 字符串
    5. 名称 sLocation类型 > 字符串
    6. 名称 sTotalUserCount类型 > 字符串
    7. 名称 nTotalUserCount类型 > 数字
    8. 名称 nCurrentUser类型 > 数字
    9. 名称 sCurrentUser类型 > 字符串
  6. 从操作窗格中,选择 REST Web 服务 > GET 方法,并将其置于 流程的开始bot下方。
    1. URI 字段中,输入 https://randomuser.me/api/?results=5&inc=name,email,location&nat=us
      这是一个示例 API,可将随机用户详细信息返回给调用应用程序。
    2. 验证模式下拉列表中,选择无验证
    3. 将输出分配给变量下拉列表中,选择 dResponse -Dictionary of Strings
  7. 从操作窗格中,单击字符串 > 分配
    1. 选择源字符串变量值字段中,输入 $dResponse{Body}$
    2. 将输出分配给变量下拉列表中,选择 dResponseBody - String
  8. 从操作窗格中,单击 Python 脚本 > 打开
    1. Python 字段中,选择手动输入
    2. 将以下代码复制并粘贴到在此输入脚本字段。
      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. Python 运行时版本字段中,保留默认值为 3
  9. 从操作窗格中,单击 Python 脚本 > 执行功能
    1. Python 会话字段中,保留默认值
    2. 输入要执行的函数的名称字段中,输入 get_node_count
    3. 函数参数下拉列表中,选择 dResponseBody - String
    4. 将输出分配给变量下拉列表中,选择 sTotalUserCount - String
  10. 从操作窗格中,单击字典 > Put
    1. 字典变量字段中,选择 dRetrieveValue -Dictionary
    2. 关联到此键字段中,输入响应
    3. 新值下拉列表中,选择 dResponseBody - String
    4. 为变量分配上一个值下拉列表中,选择 prompt-assignment - String
  11. 从操作窗格中,单击字符串 > 至数字
    1. 输入字符串字段中,输入 sTotalUserCount
    2. 将输出分配给变量下拉列表中,选择 nTotalUserCount - Number
  12. 从操作窗格中,单击循环 > 循环
    1. 循环类型 > 迭代器中,从下拉列表中选择 n 次
    2. 时间字段中,输入 $nTotalUserCount$
    3. 将当前值分配给变量下拉列表中,选择 nCurrentUser - Number
  13. 从操作窗格中,单击数字,选择减量并将其放入循环操作中。
    1. 输入号码字段中,输入 $nCurrentUser$
    2. 输入减量值字段中,输入 1
    3. 将输出分配给变量下拉列表中,选择 nCurrentUser - Number
  14. 从操作窗格中,单击数字,选择至字符串并将其放入循环操作中,位于数字 > 减量下方。
    1. 输入号码字段中,输入 $nCurrentUser$
    2. 输入小数点后的位数字段中,输入 0
    3. 将输出分配给变量下拉列表中,选择 sCurrentUser - String
  15. 从操作窗格中,单击字典 > Put并将其放入循环操作中。
    1. 字典变量字段中,选择 dRetrieveValue -Dictionary
    2. 关联到此键字段中,输入计数
    3. 新值下拉列表中,选择 sCurrentUser - String
    4. 为变量分配上一个值下拉列表中,选择 prompt-assignment - String
  16. 从操作窗格中,单击 Python 脚本 > 执行函数并将其放入循环操作中。
    1. Python 会话字段中,保留默认值
    2. 输入要执行的函数的名称字段中,输入 get_full_name
    3. 函数参数下拉列表中,选择 dRetrieveValue - Dictionary
    4. 将输出分配给变量下拉列表中,选择 sFullName - String
  17. 从操作窗格中,单击 Python 脚本 > 执行函数并将其放入循环操作中。
    1. Python 会话字段中,保留默认值
    2. 输入要执行的函数的名称字段中,输入 get_location
    3. 函数参数下拉列表中,选择 dRetrieveValue - Dictionary
    4. 将输出分配给变量下拉列表中,选择 sLocation - String
  18. 从操作窗格中,单击消息框并将其放入循环操作中。
    1. 输入要显示的消息字段中输入以下值:
      Full Name: $sFullName$ Location: $sLocation$
    2. 选择在以下 > 秒数后关闭消息框,输入 5
  19. 从操作窗格中,单击 Python 脚本 > 关闭并将其放在循环操作之外。
    1. Python 会话字段中,保留默认值
  20. 单击保存以保存您的 bot,然后单击运行
    bot 运行,显示五个完整的用户名及位置,每个用户名及位置大约显示 5 秒钟,然后成功完成执行。
发送反馈