sql-json-path-expression

SQL/JSON 路径表达式定义对 JSON 文本的元素的访问。

读取语法图跳过可视语法图 laxstrict sql-json-accessor-expression
sql-json-accessor-expression
读取语法图跳过可视语法图$  . json-path-key-name .  * 数组说明符
数组说明符
读取语法图跳过可视语法图[ ,索引值索引值to索引值 *  ]
索引值
读取语法图跳过可视语法图lastlast - 
宽松或严格
指定 JSON 路径方式。
LAX
指定在浏览当前 JSON 文本时允许某些结构错误。 这其中包括:
  • 自动取消数组的嵌套
  • 将标量值自动合并为一个元素数组 (如果引用为数组)
  • 指定不存在的项,包括超出范围的数组下标值
如果项不存在,那么 SQL/JSON 路径表达式将返回空字符串,并根据当前 ON EMPTY 子句进行处理。
严格
指定当无法使用指定的路径表达式来浏览当前 JSON 文本时,将报告错误。 根据当前 ON ERROR 子句处理错误。
sql-json-accessor-expression
$
指定要将 SQL/JSON 路径表达式的其余部分应用于的上下文项的开头。
json-path-key-name
在 JSON 文本中指定 key , value 对的密钥名称。 如果名称包含任何特殊字符,那么必须使用 " 字符。
*
指定将以 SQL/JSON 序列形式返回所有键的值。
array-说明符
指定要应用于数组的一个或多个数组下标值的列表。 可以将这些值指定为单个数字或范围。 它们可以按任何顺序指定,并且可能包含重复项,但结果将按文档顺序返回,而不返回重复项。 如果指定了某个范围的索引值,并且 "开始" 和 "到" 值顺序不正确,那么在 lax 方式下,将使用该范围内的所有索引值; 在 strict 方式下,将发生错误。
索引值
指定数组下标值。
数字
表示数组元素的无符号整数常量。 数组的第一个元素具有索引 0。
最后一个
指示数组的最后一个元素。 不能将此值指定为索引范围内的第一个值。
last- number
指示相对于数组的最后一个元素的位置。
*
指示将选择所有数组元素。

示例

  • 请考虑以下文本:
    { "isbn": "123-456-222", "author": [ { "name":"Jones"},{"name","Smith"}]}
    以下是使用各种 SQL/JSON 路径表达式来访问 JSON 文本中的项的结果。
    路径
    $.isbn "123-456-222"
    $.author [0] .name "琼斯"
    $.author [1] .name "史密斯"