sql-json-path-expression

SQL/JSON 路徑表示式定義對 JSON 文字元素的存取權。

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

範例

  • 請考量下列文字:
    { "isbn": "123-456-222", "author": [ { "name":"Jones"},{"name","Smith"}]}
    以下是使用各種 SQL/JSON 路徑表示式來存取 JSON 文字中的項目的結果。
    路徑 Value
    $.isbn "123-456-222"
    $.author [0] .name "Jones"
    $.author [1] .name "史密斯"