JSONPath 查詢

執行器內建的路徑走訪只會以 . 切分並索引 —— 無法做萬用字元、遞迴下降或過濾,因此含 陣列的 API/DB 回應很難擷取。json_query 在已解析的 JSON 上加入聚焦的 JSONPath 子集:

純標準函式庫(re);不匯入 PySide6

無頭 API

from je_auto_control import json_query, json_query_one, json_extract

json_query(data, "$.store.books[*].title")          # 每個 title
json_query(data, "$.store.books[?(@.price > 8)].title")  # 過濾
json_query(data, "$..price")                         # 遞迴下降

json_query_one(data, "$.user.name", default="?")     # 第一個或預設
json_extract(data, {"name": "$.user.name",           # 對應 -> 扁平 dict
                    "first_tag": "$.tags[0]"})

json_query 回傳**所有**符合項(清單);``json_query_one`` 回傳第一個(或預設); json_extract{key: path} 對應擷取成扁平 dict(每路徑取第一個符合項)。這正是 既有 AC_http_to_var / API / DB-row 流程所缺的路徑引擎。

執行器指令

指令

效果

AC_json_query

{matches} —— 符合 JSONPath 的所有值。

AC_json_extract

{result} —— 擷取 {key: path} 對應。

data``(與 ``mapping)接受 JSON 物件或 JSON 字串(因此視覺化建構器可用)。相同操作亦 提供為 MCP 工具(ac_json_query / ac_json_extract),以及 Script Builder 中 Data 分類下的指令。