1、处理和创建JSON数据
json和jsonb 操作符:
序列操作函数:
序列操作函数是用于操作序列对象的函数,序列对象都是用CREATE SEQUENCE创建的特殊的单行表。
2、SQL/JSON路径语言
SQL/JSON路径表达式指定了要从JSON数据中检索的项目,类似于SQL访问XML时使用的XPath表达式。在GBase 8c中,路径表达式作为jsonpath数据类型实现,可以使用第 JSON类型中描述的任何元素。
JSON查询函数和操作符将提供的路径表达式传递给路径引擎进行评估。如果表达式与被查询的JSON数据匹配,则返回相应的SQL/JSON项。路径表达式是用SQL/JSON路径语言编写的,也可以包括算术表达式和函数。查询函数将提供的表达式视为文本字符串,所以必须用单引号括起来。
一个路径表达式由jsonpath数据类型允许的元素序列组成。路径表达式从左至右进行评估,但你可以使用括号来改变操作顺序。如果评价成功,则会产生一个SQL/JSON项的序列(SQL/JSON序列),并将评价结果返回给完成指定计算的JSON查询函数。
要引用要查询的JSON数据(context项),请在路径表达式中使用$符号。后面可以有一个或多个accessor操作符,它可以逐级递减JSON结构中的上下文项的内容。下面的每一个操作符都涉及到上一个评估步骤的结果。
例如,假设有一些来自GPS追踪器的JSON数据,想对其进行解析,例如:
{
"track": {
"segments": [
{
"location": [ 47.763, 13.4034 ],
"start time": "2018-10-14 10:05:14",
"HR": 73
},
{
"location": [ 47.706, 13.2635 ],
"start time": "2018-10-14 10:39:21",
"HR": 135
}
]
}
}
要检索可用的轨迹段,需要使用.key访问器操作符来检索前面所有的JSON对象。