使用 Python 生成 bot 以解析 JSON 響應
使用 Automation 360 Python 腳本執行 Python 函數以生成 bot。使用 Python 函數來解析來自 REST Web 服務 GET 請求的 JSON 響應。
先決條件
確保您具有以下內容以構建: bot
- 基本瞭解 Python 編程語言。
- 創建的基本體驗 Automation Anywhere bots。
- 下載並安裝 Python 3.
將路徑添加到 Environment 變量,並在 Python 安裝過程中選擇 Add Python 3.8 to path (將 Python 3.8 添加到路徑)。
程序
- 登入 Control Room。
- 轉到 “機器人 > 程序我的機器人程序”,然後單擊 “創建機器人程序 ”圖標。
- 在 Name (名稱)字段中,輸入 PythonTutorial( PythonTutorial )。
- 單擊 創建和編輯。
-
在“操作”窗格中,單擊 “變量 ”以創建以下新變量:
- 名稱 dResponse、 類型 > 詞典 和 子類型 > 字符串。
- name dRetrieveValue、 Type > Dictionary 和 Subtype > any。
- 名稱 sResponseBody, 類型 > 字符串。
- 名稱 sFullName, 鍵入 > String。
- 名稱 位置, 類型 > 字符串。
- 名稱 sTotalUserCount, 類型 > 字符串。
- 名稱 nTotalUserCount, 類型 > 編號。
- 名稱 nCurrentUser, 鍵入 > number。
- 名稱 sCurrentUser, 鍵入 > String。
-
從 [ 動作 ] 窗格中,選取 [ REST Web 服務 > 取得方法 ] ,並將其置於 bot 流程的開頭之下。
-
在 URI 字段中,輸入 https://randomuser.me/api/?results=5&inc=name,email,location&nat=us。
這是一個將隨機用戶詳細信息返回到調用應用程序的示例 API 。
- 在“驗證模式”下拉列表中,選擇 “無驗證”。
- 在將輸出分配給變量下拉列表中,選擇 dResponse -Dictionary of Strings。
-
在 URI 字段中,輸入 https://randomuser.me/api/?results=5&inc=name,email,location&nat=us。
-
在 Actions (操作)窗格中,單擊 String > Assign(字符串分配)。
- 在“選擇源字符串變量值”字段中,輸入 $dResponse {Body }$。
- 在將輸出分配給變量下拉列表中,選擇 dResponseBody - String。
-
在 Actions (操作)窗格中,單擊 Python script > Open( Python 腳本打開)。
- 在 Python ( Python )字段中,選擇 Manual input(手動輸入)。
-
在“在此處輸入腳本”字段中,複製並粘貼以下代碼。
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']
- 在 Python 運行時版本 字段中,將默認值保留 爲 3。
-
在 Actions (操作)窗格中,單擊 Python script > Execute Function( Python 腳本執行功能)。
- 在 Python 會話 字段中,保留 默認值。
- 在輸入要執行的函數的名稱字段中,輸入 get 節點計數。
- 在“函數參數”下拉列表中,選擇 “ dResponseBody - 字符串”。
- 在將輸出分配給變量下拉列表中,選擇 sTotalUserCount - String。
-
在操作窗格中,單擊 字典 > 放置。
- 在詞典變量字段中,選擇 dRetrieveValue -Dictionary。
- 在“關聯到此鍵”字段中,輸入 response。
- 在“新建值”下拉列表中,選擇 “ dResponseBody - 字符串”。
- 在將上一個值分配給變量下拉列表中,選擇 提示 - 分配 - 字符串。
-
在 Actions (操作)窗格中,單擊 String > to Number(字符串至編號)。
- 在輸入字符串字段中,輸入 sTotalUserCount。
- 在將輸出分配給變量下拉列表中,選擇 nTotalUserCount - Number。
-
在 Actions (操作)窗格中,單擊 Loop > Loop (循環)。
- 在循環類型 > 迭代器中, 從 下拉列表中選擇 n 次。
- 在“時間”字段中,輸入 $nTotalUserCount$。
- 在 Assign the current value to a variable (將當前值分配給變量)下拉列表中,選擇 nCurrentUser - Number( nCurrentUser - 編號)。
-
從“操作”窗格中,單擊 “編號”,選擇 “減量 ”並將其放入 循環 操作中。
- 在 Enter Number (輸入號碼)字段中,輸入 $nCurrentUser$。
- 在輸入遞減值字段中,輸入 1。
- 在 Assign output to a variable (將輸出分配給變量)下拉列表中,選擇 nCurrentUser - Number( nCurrentUser - 編號)。
-
在 Actions (操作)窗格中,單擊 Number(編號),選擇 to string (以字符串)並將其放入 Loop (循環)操作的內部,編號 > Decent.
- 在輸入數字字段中,輸入 $nCurrentUser$。
- 在“輸入小數點後的位數”字段中,輸入 0。
- 在 Assign output to a variable (將輸出分配給變量)下拉列表中,選擇 sCurrentUser - String( sCurrentUser - 字符串)。
-
在 Actiond 窗格中,單擊 Dictionary > put 並將其放入 Loop 操作中。
- 在詞典變量字段中,選擇 dRetrieveValue -Dictionary。
- 在“與此鍵關聯”字段中,輸入 count。
- 在“新值”下拉列表中,選擇 sCurrentUser - String。
- 在將上一個值分配給變量下拉列表中,選擇 提示 - 分配 - 字符串。
-
在“操作”窗格中,單擊 Python 腳本 > 執行函數 ,並將其放入 循環 操作中。
- 在 Python 會話 字段中,保留 默認值。
- 在“輸入要執行的函數的名稱”字段中,輸入 “ get _full_name”。
- 在“函數參數”下拉列表中,選擇 dRetrieveValue - Dictionary。
- 在將輸出分配給變量下拉列表中,選擇 sFullName - String。
-
在“操作”窗格中,單擊 Python 腳本 > 執行函數 ,並將其放入 循環 操作中。
- 在 Python 會話 字段中,保留 默認值。
- 在輸入要執行的函數的名稱字段中,輸入 get 位置。
- 在“函數參數”下拉列表中,選擇 dRetrieveValue - Dictionary。
- 在將輸出分配給變量下拉列表中,選擇 sLocation - String。
-
在 [ 動作 ] 窗格中,按一下 [ 訊息方塊 ] ,然後將它放在 [ 迴圈 ] 動作中。
-
在 “輸入要顯示的消息 ”字段中,輸入以下內容:
Full Name: $sFullName$ Location: $sLocation$
- 選擇 秒後關閉消息框 > , 輸入 5。
-
在 “輸入要顯示的消息 ”字段中,輸入以下內容:
-
在“操作”窗格中,單擊 Python 腳本 > 關閉 ,並將其置於 Loop 操作之外。
- 在 Python 會話 字段中,保留 默認值。
-
單擊 保存 保存 bot,然後單擊 運行。
bot 運行,顯示五個完整的用戶名,每個用戶名的位置大約爲 5 秒,然後才能成功執行。