GBase 8c 函数与操作符——14-JSON 函数和操作符

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对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值