99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

DataPath

2024-03-07 18:38 更新
  • DataPath可稱(chēng)為數(shù)據(jù)路徑。
  • DataPath是在Dorado的客戶端所使用的,用于描述如何提取、挖掘數(shù)據(jù)的表達(dá)式。其作用比較類(lèi)似于XML中所使用的XPath。
  • DataPath既可以作用在普通的JSON數(shù)據(jù)上,也可以作用在Dorado所特有的EntityList+Entity數(shù)據(jù)上。假設(shè)我們現(xiàn)在有一組如下結(jié)構(gòu)的Entit+EntityList數(shù)據(jù),其中包含Department和Employee兩種實(shí)體類(lèi)型,其中Department支持遞歸嵌套。

下面的說(shuō)明和示例都將圍繞這組數(shù)據(jù)展開(kāi)。

 [
    {
        id: "D1",
        name: "XX部1",
        departments: [
            {
                id: "D11",
                name: "XX部2",
                employees: [
                    {
                        id: "0001",
                        name: "John",
                        sex: "male",
                        salary: 5000
                    },
                    ...
                ]
            },
            ...
        ]
    },
    ...
]

DataPath的基本語(yǔ)法為:

屬性名1(參數(shù)1,參數(shù)2,..)[邏輯表達(dá)式1,邏輯表達(dá)式2,..].屬性名2(參數(shù)1,參數(shù),..2)[邏輯表達(dá)式1,邏輯表達(dá)式2,..].屬性名n..

DataPath中各種特殊符號(hào)的說(shuō)明:

  • ; - 用于分隔多個(gè)表達(dá)式的分隔符。例如:<code>表達(dá)式1;表達(dá)式2</code>,最終得到的結(jié)果是這兩個(gè)表達(dá)式的結(jié)果的簡(jiǎn)單合集(即可能包含重復(fù)元素的合計(jì))。

  • . - 用于分隔不同層級(jí)間對(duì)象的屬性。例如:<code>employee.id</code>表示employee子對(duì)象的id屬性。

      • 用于表示某一層級(jí)中所有的對(duì)象,一般僅用于表示頂層集合中的對(duì)象,且可以省略。例如:<code>*.id</code>表示所有頂層對(duì)象的id屬性。

  • () - 用于定義一組表達(dá)式執(zhí)行參數(shù),多個(gè)參數(shù)之間以","分割。目前支持的參數(shù)包括:repeat - 重復(fù)的執(zhí)行當(dāng)前的表達(dá)式片段直到無(wú)法找到更多的子對(duì)象為止??珊?jiǎn)寫(xiě)為"R"。

例如:.employees(repeat)或.employees(R)

  1. 表示所有employees屬性中的對(duì)象的集合,這些對(duì)象會(huì)被提取出來(lái)被平行的放置到一個(gè)返回的數(shù)組中。
  2. leaf - 重復(fù)的執(zhí)行當(dāng)前的表達(dá)式片段找出所有的葉子對(duì)象??珊?jiǎn)寫(xiě)為"L"。
  3. 數(shù)字 - 表示僅返回找到的前n個(gè)對(duì)象。

  • @ - 用于邏輯表達(dá)式中,表示當(dāng)前正被過(guò)濾的數(shù)據(jù)對(duì)象。
  • [] - 用于定義一組邏輯表達(dá)式以對(duì)數(shù)據(jù)進(jìn)行過(guò)濾,其中如果要定義多個(gè)邏輯表達(dá)式可以以","進(jìn)行區(qū)隔。

例如:employees[@.get("sex")=="male"]

表示篩選出性別為男性的員工。# - DataPath中支持一些以#開(kāi)頭的特殊的邏輯表達(dá)式,用于聲明對(duì)Entity對(duì)象的過(guò)濾方式。具有如下幾種取值:#current - 表示集合中的當(dāng)前Entity對(duì)象。

例如:employees[#current]

  • 表示返回employees集合中的當(dāng)前Employee對(duì)象。#dirty
    - 表示集合中所有在客戶端被改變過(guò)的(包含被刪除的)Entity對(duì)象。#new
    - 表示集合中所有在客戶端新增的Entity對(duì)象。#modified
    - 表示集合中所有在客戶端被修改過(guò)的Entity對(duì)象。#deleted
    - 表示集合中所有在客戶端被標(biāo)記為已刪除的Entity對(duì)象。# - #current的簡(jiǎn)式。

例如:#employees與employees[#current]

具有完全相同的語(yǔ)義。
! - 表示后面是一段自定義的數(shù)據(jù)路徑片段。

例如:!CURRENT_NODE.children

中的CURRENT_NODE就是一個(gè)自定義片段。見(jiàn)jsdoc中關(guān)于dorado.DataPath.registerInterceptor()方法的說(shuō)明。

更多的示例:

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)