在本連線學習路徑中,我們將建立一個 Chain,說明如何將簡單的 JSON 資料集轉換為 CSV。此外,我們將探討如何在 JSON 資料集上進行迴圈,並根據資料中的值進行篩選。
| 主要學習目標 | JSON Connector 功能 |
| 次要學習目標 |
表格轉換進階查詢指令 群組迭代 |
| 必要條件 | 設定 JSON Connector 連線 |
| 支援範本 | CLP | 存取 JSON 資料 |
步驟 1:建立鏈條
- 新增連鎖
- 將鏈命名為 CLP | 存取 JSON 資料
- 建立 Chain 變數:
- 在連鎖變數下,按一下正號
- 儲存鏈
步驟 2:擷取 JSON 資料
我們使用 HTTP Connector 從網路位置擷取 JSON 格式的人數相關資料。
- 從 HTTP 連接器新增 GET 指令到 Start 節點
- 使用下列內容設定命令:
| 名稱 | GET - 所有員工 |
| 使用者名稱 | <leave blank> |
| 密碼 | <leave blank> |
| CA 憑證 | <leave blank> |
| 憑證 | <leave blank> |
| 憑證私密金鑰 | <leave blank> |
| 顯示回應 | 已核取 |
| URL | cv-JSON-Employee 鏈式變數 |
| 查詢字串 | <leave blank> |
| 內容類型 | 應用程式/json |
| 回覆 | <leave blank> |
- 儲存指令
步驟 3:將 JSON 轉換為 CSV
使用 JSON Connector 將 JSON 資料集轉換為 CSV 格式。在此步驟中僅從 JSON 陣列中選擇員工 ID 和國家欄位。
瞭解 JSON 資料集的模式非常重要。您可以使用 File Utilities Connector 的 List File Content Command 來檢視模式。您也可以將模式新增至 Get Command 的 Response 欄位,以方便參考。以下是 employees JSON 的模式:
結構描述
[
{
"emp_id":"26-4992011",
"user_name":"apostle0",
"first_name":"Audi",
"last_name":"Postle",
"job_title":"Chief Design Engineer",
"department":"Marketing",
"city":"Cheyenne",
"country":"United States",
"currency":"USD",
"hire_date":"08/30/2000",
"fte":1,
"termed": false
}
]
- 從JSON Connector 新增Array to CSV Command 到 Chain。
- 將 Start Node (GET - All Employees) 連接到Array to CSV Command。
- 命名該命令:將命令命名為:Array to CSV - All Employees 。
- 在JSON 資料 參數中,選擇GET - 所有員工 指令的回應 輸出。
- 將Input Text,Path to root, 和Filter 參數留空。
- 將多值分隔符 參數留為逗號 (, )。
- 勾選Preview Result 選項。
- 列部分用於指定 JSON 陣列中的哪些元素將被提取到列式 (CSV) 資料集中。按一次Add 按鈕,新增一列。
- 在第一欄中,輸入emp_id 作為欄名稱,並輸入.emp_id 作為 JSONPath 參數。
- ❗ 請務必在 JSONPath 參數中的 emp_id 前加上點 (.) 。
- 在第二列中,輸入country 作為 Column Name,並.country 作為 JSONPath 參數。
- 為Delimiter 參數選擇Comma 。
- 在第一欄中,輸入emp_id 作為欄名稱,並輸入.emp_id 作為 JSONPath 參數。
- 儲存指令
步驟 4:取得資料中唯一的國家清單
使用簡單的Select Distinct 語句與 Tabular Transformation Connector 的 Advanced Query Command(進階查詢指令),取得資料中的唯一國家集。稍後在此練習中,將使用此清單逐一擷取每個國家的員工。
- 從Tabular Transformation Connector 新增Advanced Query Command 到 Chain。
- 連接Array to CSV - All Employees 指令到Advanced Query 指令。
- 命令名稱:進階查詢 - 國家 。
- 表格」部分允許使用一個或多個分隔資料集來建立表格,並據此寫入 SQL 語句。包含指定表格的 SQLite 資料庫會立即產生,不需要安裝其他軟體。
- 在File 字段中,指定Converted File Output from theArray to CSV - All Employees Command。
- 在表名 參數中輸入國家 。指定的查詢將針對此資料表執行。
- 在查詢參數中,輸入下列內容:
從國家/地區中選擇不同國家/地區
- 為Input Delimiter 和Output Delimiter 參數指定Comma 。
- 檢查預覽結果 參數
- 儲存指令。
步驟 5:從國家清單建立 JSON 陣列
我們使用 JSON Connector 的 CSV 至 JSON 指令,將唯一的國家列表轉換為 JSON 陣列。然後,Command Group 可以遍歷此陣列中的每個項目。
- 從JSON Connector 新增CSV to JSON Command 到 Chain。
- 將Advanced Query - Countries Command 連接到CSV to JSON Command。
- 使用下列內容設定指令:
| 名稱 | CSV 至 JSON - 國家 |
| 輸入檔 | 結果 進階查詢 - 國家 指令的輸出 |
| 分隔符號 | 逗號 (,) |
- 儲存指令
步驟 6:新增指令群組
在連鎖中加入指令群組,以啟用在進階查詢步驟中確認的各個國家的迭代。
- 在連鎖中加入指令群組 。
- 將CSV to JSON - Countries 指令連接至指令群組的在 區段。
- 按一下指令群組,然後選擇下拉式圖示,將指令顏色變更為橙色 。
- 命名組:Active Employees 。
- 啟用迭代索引標籤下的Iterations 切換,並選擇JSON File CSV to JSON - Countries 指令的輸出。
- 儲存指令群組。
步驟 7:依國家篩選員工的 JSON 資料
將 JSON 資料集轉換為 CSV,同時僅篩選目前正在迭代處理的國家/地區的員工記錄。此步驟強調兩項強大功能 - 迴圈或遍歷的能力,以及在 JSON 轉換過程中套用篩選器的能力。瞭解這些功能有助於開發強大、有效率的 Chain。
複製本步驟先前設定的 Array 到 CSV 指令,除了以下註明的地方外,配置大致上利用相同的配置。
- 複製陣列至 CSV - 所有員工 指令。
- 從命令群組連接群組開始 到Array to CSV - All Employees (Copy) 指令 。
- 編輯命令。
- 命名命令:Array to CSV - Employees by Country 。
- 在 Filter 參數中,輸入以下內容:
?(@.country == "<JSON FILE ITERATION>")
-
- 之前的空格和 之後的雙等號 (==) 符號是required 。
- <JSON> 應更換為變數窗格中Group Iterator 下的JSON File Iteration 。
- 新增 JSON 檔案迭代時,按一下變數氣泡,並新增從 JSON 變數變形取得值。
- 在 Variable Transformation 的 Value 參數中,輸入country ,然後按 Enter 鍵。請記住,JSON 是區分大小寫的 。
- 編輯 emp_id 列,使其擁有Column Name ofemployee_id 。請勿變更 JSONPath。
- 由 Command 產生的 Column Name 不需要符合 JSON Array key。
- 在 Command 中新增 10 個欄位,並依照下列內容設定:
| 資料欄名稱 | JSONPath |
| user_name | .user_name |
| first_name | first_name |
| .last_name | .last_name |
| 標題 | .job_title |
| 部門 | .department |
| 城市 | .city |
| 貨幣 | 貨幣 |
| hire_date | .hire_date |
| .fte | .fte |
| 終止 | .termed |
- 儲存指令。
步驟 8:測試練習
現在 Chain 已經完成,請測試結果。
- 發表鏈結。
- 按一下Execute ,然後選擇Run Chain 。
- 連鎖完成後,按一下Array to CSV - Employees by Country 節點。
- 注意迭代執行了五 (5) 次。
- 選擇每個迭代值,然後按一下Inputs 索引標籤。確認Filter 與下表相符。
- 選擇迭代 5,然後按一下Logs 索引標籤。確認資料預覽與下圖相符。
| 迭代 1 | 美國 |
| 迭代 2 | 巴西 |
| 迭代 3 | 肯亞 |
| 迭代 4 | 義大利 |
| 迭代 5 |
澳洲 |
要瞭解有關使用 Chains 進行資料轉換的更多資訊,請查看Connected Learning Paths - Transformation Introduction !