支援同時解析一個JSON源欄位的陣列部分和非陣列部分
所有生成JsonPath預設從根節點開始,生成完整的絕對路徑,使用者可手動修改
在「選擇JSON節點」時,使用者可以透過貼上JSON正文的方式修改選擇節點的內容,以防止出現上游有多行 JSON 正文流進時,因為第一列的JSON屬性較少,導致其他json屬性無法直接選擇的情況
JSON解析生成同名欄位進行提示
JSON解析支援同時解析多個欄位,減少「簡道雲輸入」多個複雜欄位的解析成本,在「JSON解析」中新增解析多個欄位的能力。
原「解析後保留所有匯出欄位」改名為「保留上游匯出欄位」,且支援自訂勾選需要保留的上游匯出欄位
解析JSON資料中,支援配置匯出欄位類型
透過 API 取數,或者從一些非關係型、關係型資料庫裏讀取資料時,存在取到的資料包含 JSON 格式資料的情況。
而且許多情況下,JSON 格式的資料並不標準,並不能直接映射成二維表資料使用。
「JSON 解析」算子可以解析 JSON 結構的資料,匯出行列格式的資料。
「JSON 解析」算子透過獲取上游匯出的 JSON 資料,將其自訂解析成需要的欄位並匯出給下游。
範例:
例如某列 JSON 為:
[ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "price": 8.99, "isbn": "0-553-21311-3" }, { "category": "fiction", "author": "J.R.R. Tolkien", "title": "The Lord of the Rings", "price": 22.99, "isbn": "0-395-19323-5" }]
「JSON 解析」算子解析後,為:
注:JSON 解析時,不支援同時提取不同層級的欄位並擴展,使用者可以使用多個 JSON 解析算子進行多個層級的解析,詳情參見本文 3.4 節。
「JSON 解析」算子配置介面如下圖所示:
在下拉框中選擇待解析的欄位。
4.1.6.2 及之後版本,JSON解析支援同時解析多個欄位,減少「簡道雲輸入」多個複雜欄位的解析成本,在「JSON解析」中新增解析多個欄位的能力。
在源欄位選擇多個欄位後,即可在「選擇JSON節點」中同時解析多個欄位,如下圖所示:
如果上游為「API 輸入」算子,一般預設選擇 responseBody。如下圖所示:
若上游為「DB表輸入」或者其他輸入算子,則可以選擇需要解析的 JSON 來源欄位。如下圖所示:
4.2.10.1 及之後版本,原「解析後保留所有匯出欄位」改名為「保留上游匯出欄位」,且支援自訂勾選需要保留的上游匯出欄位。
未勾選該按鈕:只保留所選源欄位解析後的資料;
勾選該按鈕:保留上游所有的匯出欄位+所選源欄位解析後的資料;
勾選該按鈕並設定「選部分」欄位:保留所選上游匯出欄位+所選源欄位解析後的資料;
以 JSON解析算子典型範例 文檔中的範例為例:
選擇 JSON 節點,即可解析:
所有生成JsonPath預設從根節點開始,生成完整的絕對路徑,使用者可手動修改。
注1:json 解析的時候建議選擇最開始的節點,此時為絕對路徑下的解析,否則直接勾選指定欄位,使用相對路徑解析,資料解析結果可能會有錯誤。
注2:可使用多個「JSON解析」算子解析「嵌套JSON」資料。
支援修改欄位名稱、新增欄位等操作。如下圖所示:
4.2.10.1 及之後版本,支援配置欄位類型,將以指定的欄位類型讀取資料,可選類型為:varchar、int、long、float、double、timestamp、boolean、date。
4.2.17.1 及之後版本,新增搜尋框,支援對解析後欄位名稱進行模糊搜尋 。
在「選擇JSON節點」時,使用者可以透過貼上JSON正文的方式修改選擇節點的內容,以防止出現上游有多行 JSON 正文流進時,因為第一列的JSON屬性較少,導致其他json屬性無法直接選擇的情況。
例如,若選擇節點處缺少需要選擇的 JSON 屬性,則可以手動貼上包含需要選擇的 JSON 屬性正文,如下圖所示:
然後即可在節點中選擇想要解析的欄位。
4.1.6.2 及之後版本,支援同時解析一個 JSON 源欄位的陣列部分和非陣列部分。
例如想要解析在不同層級中的 class 和 name 欄位,則可直接選擇對應的欄位,即可同時解析一個資料源的陣列和非陣列部分,如下圖所示:
4.1.6.2 之前的版本則無法直接同時解析一個JSON源欄位的陣列部分和非陣列部分。
使用「JSON解析」算子解析子表單資料時,希望解析出在不同層級中的 level 和 name 欄位,如下圖所示解析時,將報錯:
json 解析結果行數不匹配。
原因是暫不支援:JSON 解析時,同時提取不同層級的欄位並擴展。
解決方案:
可分兩次進行解析,先解析出同層級的 level 和 department 欄位,第二次解析出 department 下的 name 欄位。
4.1.6.2 及之後版本,當 JSON 資料存在多層且有同名欄位時,會自動給重名欄位增加後綴,如下圖所示:
注:4.1.6.2 及之後版本不會出現此問題。
使用兩個「JSON解析」算子,分別解析兩個不同欄位。但「選擇JSON節點」時,兩個「JSON解析」算子選擇的欄位名相同,都為 name 。如下圖所示:
此場景下,若有多個「JSON解析」算子,解析後欄位名稱不能相同,需要修改解析後欄位名稱。否則,後面的同名欄位會改寫前面的同名欄位。如下圖所示:
「JSON解析」算子典型範例:
JSON解析算子典型範例
解析並聯動多個JSON陣列欄位
JSON解析前過濾出不合法的資料
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙