sql-json-path-expression
SQL/JSON 路徑表示式定義對 JSON 文字元素的存取權。
- 鬆散或嚴格
- 指定 JSON 路徑模式。
- 鬆
- 指定在導覽現行 JSON 文字時容許某些結構錯誤。 其中包括:
- 自動取消陣列巢狀
- 自動覆蓋純量值以成為單一元素陣列 (如果參照為陣列)
- 不存在項目的規格,包括超出範圍的陣列索引值
- 嚴格
- 指定當無法使用指定的路徑表示式來導覽現行 JSON 文字時,報告錯誤。 根據現行 ON ERROR 子句處理錯誤。
- sql-json-accessor-expression
- $
- 指定要套用 SQL/JSON 路徑表示式其餘部分的環境定義項目開頭。
- json-path-key-name
- 在 JSON 文字中指定 key , value 配對的金鑰名稱。 如果名稱包含任何特殊字元,則必須以 " 字元。
- *
- 指定所有索引鍵的值將以 SQL/JSON 序列傳回。
- 陣列指定元
- 指定要套用至陣列的一或多個陣列索引值的清單。 值可以指定為個別數字或範圍。 它們可以依任何順序指定且可能包含重複項,但結果將以文件順序傳回,不含重複項。 如果指定索引值的範圍,且從值和到值的順序不正常,則在 lax 模式中,會使用該範圍中的所有索引值; 在 strict 模式中,則會發生錯誤。
- 索引值
- 指定陣列索引值。
- 數字
- 代表陣列元素的不帶正負號整數常數。 陣列的第一個元素具有索引 0。
- 最後一個
- 指出陣列的最後一個元素。 此值不能指定為索引範圍中的第一個值。
- last- number
- 指出相對於陣列最後一個元素的位置。
- *
- 指出要選取所有陣列元素。
範例
- 請考量下列文字:
以下是使用各種 SQL/JSON 路徑表示式來存取 JSON 文字中的項目的結果。{ "isbn": "123-456-222", "author": [ { "name":"Jones"},{"name","Smith"}]}路徑 Value $.isbn "123-456-222" $.author [0] .name "Jones" $.author [1] .name "史密斯"
