跳到內容

JSON參數提取節點

JSON參數提取節點是FlowAI中用於處理JSON數據的組件。它能夠從上一個節點輸出的JSON字符串中提取特定的數據,並將其作為變量傳遞給後續節點。通過合理使用JSON參數提取節點,你可以輕鬆處理複雜的JSON數據結構。

節點配置

基礎設置

JSON參數提取節點基礎設置

  1. 節點名稱

    • 為JSON參數提取節點設置一個描述性名稱
    • 建議使用能體現提取目的的名稱,如”提取用戶信息”、“獲取訂單詳情”等
    • 命名規範:使用動詞+名詞形式,如”提取用戶ID”、“獲取訂單狀態”
  2. JSON數據源

    • 選擇或輸入上一個節點的輸出變量,如$LLM1.result
    • 確保數據源是一個合法的JSON字符串
  3. JSON路徑

    • 輸入要提取的JSON路徑,如output.dataoutput.list.1
    • 路徑格式:使用點號.表示層級關係,使用數字表示數組索引(從0開始)

輸出

  • 輸出變量的格式為 $節點名稱.output,例如 $JSON參數提取1.output

使用示例

1. 提取簡單JSON數據

讓我們從一個簡單的JSON字符串中提取數據:

  1. 一個簡單的JSON字符串

    {
    "output": "Hello, World!"
    }
  2. JSON參數提取配置

    節點名稱:提取數據
    JSON數據源:$輸入.data
    JSON路徑:output

    JSON參數提取配置

  3. 輸出

    使用提取的數據進行後續處理 輸出節點配置

2. 提取嵌套JSON數據

處理嵌套的JSON數據結構:

  1. 一個嵌套的JSON字符串

    {
    "output": {
    "advanceList": [{ "data": "Hello, World!" }]
    }
    }
  2. JSON參數提取配置

    節點名稱:提取嵌套數據
    JSON數據源:$輸入.data
    JSON路徑:output.advanceList.0.data

    嵌套JSON參數提取配置

  3. 輸出

    輸出節點配置

3. 提取數組中的元素

展示如何從JSON數組中提取特定元素:

  1. 一個JSON數組

    {
    "output": {
    "list": ["Hello", "World", "FlowAI"]
    }
    }
  2. JSON參數提取配置

    節點名稱:提取數組元素
    JSON數據源:$輸入.data
    JSON路徑:output.list.1

    數組元素提取配置

  3. 輸出

    輸出節點配置

高級用法

1. 多級提取

你可以通過連接多個JSON參數提取節點來實現多級數據提取,適用於複雜的JSON數據結構:

[一級提取] --> [二級提取] --> [三級提取]

語法規範

JSON參數提取節點採用GJSON路徑語法,支持豐富的查詢和操作功能。以下是完整語法說明:

基礎路徑

  • 使用點號.表示層級關係
  • 數組索引從0開始計數
{
"user": {
"tags": ["AI", "Developer", "GPT"]
}
}
user.tags.1 // 提取"Developer"

通配符

  • * 匹配任意長度字符
  • ? 匹配單個字符
user.t* // 匹配tags數組
user.ta?s // 匹配tags數組

轉義字符

對特殊字符使用\進行轉義:

{
"file.name": "config.json"
}
file\.name // 提取"config.json"

數組操作

  • # 獲取數組長度
  • #(查詢條件) 數組查詢
{
"users": [
{ "name": "Alice", "age": 25 },
{ "name": "Bob", "age": 30 }
]
}
users.# // 返回2(數組長度)
users.#.name // 返回["Alice","Bob"]
users.#(age>25).name // 返回"Bob"

查詢語法

支持多種查詢運算符:

{
"products": [
{ "id": 1, "price": 99, "tags": ["electronics", "sale"] },
{ "id": 2, "price": 199, "tags": ["furniture"] }
]
}
// 比較查詢
products.#(price>=100).id // 返回2
// 模式匹配
products.#(tags%"*sale*").id // 返回1
// 嵌套查詢
products.#(tags.#(=="furniture"))#.id // 返回2

修飾符

通過@符號使用數據處理修飾符:

products.@reverse // 反轉數組順序
products.@pretty // 美化JSON輸出
products.@ugly // 壓縮JSON格式
products.@join // 合併多個對象

常見問題

調試技巧

使用輸出節點 在每個分支添加輸出節點,幫助調試流程:

[JSON參數提取] --> [輸出節點(打印提取結果)]

通過合理使用JSON參數提取節點,你可以輕鬆處理複雜的JSON數據結構。記住要仔細規劃提取路徑,確保路徑的準確性和合法性,這樣才能保證工作流程的可靠運行。

定製服務

官方團隊為您量身定製專業的自動化解決方案