產品介紹
什么是數環通
基礎概念講解
應用場景
多渠道數據融合
業務、財務、辦公自動化
產業鏈應用與數據集成
工業應用與設備互聯
智慧園區與未來社區
快速入門
創建LinkUp
應用授權
判斷用法
監控用法
分支用法
列表逐條處理
變量與表達式
流程管理
項目管理
流程創建
編輯器操作
單步測試與預覽
試運行
發布與版本管理
錯誤步驟重試
數據同步
JSON Path 使用
輸出處理
數據編排
1、功能使用手冊
2、腳本使用手冊
1 、簡單查詢
2、謂詞查詢
3、函數與表達式
4、構建結構結果
5、查詢組合
6、排序、分組和聚合
7、處理模型
8、函數式編程
9、正則表達式
10、日期、時間處理
11、路徑運算符
12、數字運算符
13、比較運算符
14、布爾運算符
15、其他運算符
16、字符串函數
17、數值函數
18、 數字聚合函數
19、布爾函數
20、數組函數
21、對象函數
22、日期/時間函數
23、高階函數
運行日志
運行記錄
開發工具
連接器工具
連接器源碼配置
控件類型配置
腳本配置說明
內置函數
應用講解
內置應用
瀏覽器插件
數據表
文本字符串
日期
數據篩選
數據處理
延時處理
數學計算器
定時觸發器
子流程調用
手動觸發器
物流地址解析
腳本執行器
自定義變量
文件讀取
Webhook
SMTP發送郵件
文件傳輸
JSON工具
網絡工具
消息處理
PDF水印工具
文件存儲
API服務
Http請求
循環控制
EDI 自定義標準數據轉換
對象類型判斷
瀏覽器操作
三方應用
簡道云
金山數據表
抖音
釘釘(自建應用)
語雀
金山表單
微信公眾號
企業微信群機器人
聚水潭
企業微信三方授權
MySQL
SqlServer
ChatGpt
快手
金山輕維表
抖店
維格表
巨量千川
飛書多維表
釘釘機器人
飛書(自建)
釘釘
百度網盤
QQ郵箱
金山工作表
易知微DTable
MQTT
Doirs
中通快遞
韻達速遞
企業微信(代開發)
知乎效果營銷平臺
飛書云文檔
騰訊企業郵箱
API管理
API管理概述
數據概覽
API服務
訪問憑證
API門戶
API安全密鑰簽名
API監控預警
擴展工具
代理網關
消息處理
管理中心
企業管理
操作日志
成員管理
開放平臺
開放平臺簡介
接入教程
常見問題
數環通ip白名單
最佳實踐
彥祖文化 |通過數環通實現全渠道數據融合打通
新石器|通過數環通實現跨系統、跨部門高效協同
幫助首頁
數據編排
2、腳本使用手冊
11、路徑運算符
11、路徑運算符
## `.`(Map) 點運算符是 腳本表達式的基本構建塊之一。它實現了許多函數式語言中常見的“for each”或“map”函數。 點運算符執行以下邏輯: * 對 LHS 上的表達式進行求值以生成一個值數組。 * 如果它計算結果為單個值,則將其視為等同于包含該單個值的數組 * 如果計算結果為空(無匹配或為空數組),則運算符表達式的結果為空 * 依次對 LHS 數組中的每個值進行如下操作: * 該值稱為上下文 *,* 用作 RHS 上任何相對路徑表達式的基礎。也可以使用 `$` 符號在 RHS 表達式中訪問它。 * 計算 RHS 表達式以生成一個值或值數組(或不生成任何值)。這些值將附加到整個運算符的組合結果數組中。 * 返回運算符的組合結果。 此運算符是左結合的,這意味著表達式 `a.b.c.d` 的求值方式為 `((a.b).c).d`;即從左到右 **示例** * `Address.City`=>`"Winchester"` * `Phone.number`=>`[ "0203 544 1234", "01962 001234", "01962 001235", "077 7700 1234" ]` * `Account.Order.Product.(Price * Quantity)`=>`[ 68.9, 21.67, 137.8, 107.99 ]` * `Account.Order.OrderID.$uppercase()`=>`[ "ORDER103", "ORDER104"]` ## `[`... `]`(Filter) 過濾運算符(又名謂詞)用于僅選擇輸入序列中滿足方括號之間的謂詞表達式的項目。 如果謂詞表達式是整數,或計算結果為整數的表達式,則輸入序列中該位置(零偏移)的項目是結果序列中唯一選定的項目。如果數字不是整數,則將其向下舍入為*最接近*的整數。 如果謂詞表達式是一個整數數組,或者是計算結果為整數數組的表達式,則輸入序列中這些位置(零偏移)的項目是結果序列中唯一選定的項目。 如果謂詞表達式的計算結果為任何其他值,則將其轉換為布爾值,就像使用 `$boolean()` 函數一樣。如果計算結果為 `true`,則該項目將保留在結果序列中。否則將被拒絕。 有關更多詳細信息和示例,請參閱[導航 JSON 數組]()。 ## `^(`... `)`(Order-by) order-by 運算符用于根據括號內定義的一個或多個表達式對值數組進行升序或降序排序。 默認情況下,數組將按升序排序。例如: `Account.Order.Product^(Price)` 將所有產品按價格遞增的順序排序(`Price` 是對象中的數字字段 `Product`)。 要按降序排序,排序表達式前面必須帶有 `>` 符號。例如: `Account.Order.Product^(>Price)` 將所有產品按價格降序排列。`<` 可以使用符號明確表示按價格升序排列,盡管這是默認行為。 可以使用逗號 ( ) 分隔指定次要(及更多)排序表達式 `,`。如果主要表達式對兩個值的排名相同,則將使用次要表達式來確定順序。例如, `Account.Order.Product^(>Price, <Quantity)` 主要按照價格降低的方式對產品進行排序,但對于價格相同的產品,則按數量增加的方式排序。 排序表達式可以是任何有效的 JSONata 表達式,其計算結果為數字或字符串。如果計算結果為字符串,則數組按 Unicode 代碼點的順序排序。 **示例** * `Account.Order.Product^(Price * Quantity)`=> 按價格乘以數量遞增的順序排列。 * `student[type='fulltime']^(DoB).name`=> 所有全日制學生的姓名按出生日期排序(DoB 值是 ISO 8601 日期格式) ## `{`... `}`(Reduce) 歸約運算符可用作路徑表達式的最后一步,以將其輸入序列分組并聚合為單個對象。花括號之間的鍵/值對確定分組(通過評估鍵表達式)和每個組的聚合值。有關更多詳細信息,請參閱[分組和聚合]()。 ## `*`(Wildcard) 此通配符選擇上下文對象的所有屬性的值。它可以在路徑表達式中代替屬性名稱使用,但不能與其他字符(如 glob 模式)組合使用。結果序列中這些值的順序取決于實現。有關示例,請參閱[通配符]()。 ## `**`(Descendants) 此通配符會以遞歸方式選擇上下文對象的所有屬性值,以及在沿層次結構下降時包含這些值的任何對象的屬性。請參閱[導航任意深度]()。 ## `%`(Parent) 這將選擇當前上下文值的“父級”。這里,我們將“父級”定義為具有表示上下文值的屬性的封閉對象。 這是唯一在輸入數據結構中“向后”搜索的操作。它通過[編譯時]()對表達式的靜態分析來實現,并且只能在首先瀏覽該目標父值的表達式中使用。如果由于任何原因無法確定父位置,則會引發靜態錯誤 (S0217)。 **例子** ``` Account.Order.Product.{ 'Product': `Product Name`, 'Order': %.OrderID, 'Account': %.%.`Account Name` } ``` 這將返回每個帳戶中每個訂單中每個產品的對象數組。可以使用 parent 運算符訪問封閉的 Order 和 Account 對象中的信息。重復的組合 `%.%.` 用于訪問祖父級和更高的祖先級。 ## `#`(Positional variable binding) 這可用于確定當前上下文項在序列中的哪個位置。它可在路徑中的任何映射、過濾器或排序階段之后使用。該變量可用于路徑的后續階段(例如在過濾器謂詞內),并在路徑表達式的末尾超出范圍。 **例子** ``` library.books#$i['Kernighan' in authors].{ 'title': title, 'index': $i } ``` 這將返回圖書館中每本 Kernighan 是作者之一的書籍的對象數組。每個對象都包含書籍的標題及其在篩選之前在書籍數組中的位置。 ## `@`(Context variable binding) 這用于將當前上下文項 ( `$`) 綁定到命名變量。它只能在映射階段之后直接使用,而不能在篩選或排序階段之后使用。變量綁定在路徑表達式的其余部分中仍然有效。 由于當前上下文現已明確綁定到命名變量,因此該上下文將被轉為路徑中下一階段的上下文。例如,在此路徑片段中,`library.loans@$l.books` 貸款數組是圖書館對象的屬性,而每筆貸款又將綁定到變量 `$l`。然后將選擇也是圖書館對象的屬性的書籍數組。 由于該運算符具有跨對象交叉引用的能力,因此可用于執行路徑內的數據連接。 **例子** ``` library.loans@$l.books@$b[$l.isbn=$b.isbn].{ 'title': $b.title, 'customer': $l.customer } ``` 這會在貸款數組中的對象和書籍數組中的對象之間執行“內連接”,其中結構之間的 ISBN 匹配。 塊表達式可用于擴大數據交叉引用的范圍,如下例所示: ``` (library.loans)@$l.(catalog.books)@$b[$l.isbn=$b.isbn].{ 'title': $b.title, 'customer': $l.customer } ```
上一篇
10、日期、時間處理
下一篇
12、數字運算符
手機掃碼
復制鏈接
手機掃一掃轉發分享
復制鏈接
Markdown文件
分享
鏈接
類型
密碼
更新密碼
主站蜘蛛池模板:
黄色在线视频观看
|
国产综合在线视频
|
国产麻豆精品在线
|
国产精品国三级国产aⅴ
|
久久精品中文
|
国产欧美一区二区三区在线
|
日韩在线不卡视频
|
成人小视频免费
|
国产成人精品日本亚洲专一区
|
精品国产免费人成高清
|
国产麻豆精品一区二区
|
爱啪啪网站
|
国产精品久久久久免费
|
牲欧美
|
婷婷六月丁香色婷婷网
|
角斗士成1~3光荣战士在钱
|
国产一级毛片网站
|
国产成人一区二区三区影院免费
|
欧洲精品码一区二区三区免费看
|
久久久久久久国产精品视频
|
天天激情站
|
黄色在线视频网址
|
精品免费久久
|
久久久国产精品免费
|
五月天堂网
|
日韩欧美中国a v
|
国产a级免费
|
大色综合色综合资源站
|
国产精品久久久久激情影院
|
家常菜1-38集免费
|
国产乱理
|
久久一区二区三区免费
|
色视频在线观看网站
|
黄色成人免费观看
|
亚洲阿v天堂最新版2021
|
久久婷婷国产综合精品青草
|
欧美一区二区三区网站
|
久久精品国产99国产精品亚洲
|
精品免费久久久久久久
|
久久精品视频16
|
久久天天躁夜夜躁狠狠85台湾
|