tencent cloud

数据湖计算

产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
退费说明
欠费说明
调整配置费用说明
快速入门
新用户开通全流程
DLC 数据导入指引
一分钟入门 DLC 数据分析
一分钟入门 DLC 权限管理
一分钟入门分区表
开启数据优化
跨源分析 EMR Hive 数据
标准引擎配置指引
配置数据访问策略
操作指南
控制台操作介绍
开发指南
运行环境
SparkJar 作业开发指南
PySpark 作业开发指南
查询性能优化指南
UDF 函数开发指南
系统约束
客户端访问
JDBC 访问
TDLC 命令行工具访问
第三方软件联动
Python 访问
实践教程
通过 Power BI 访问 DLC 数据操作指南
建表实践
使用 Apache Airflow 调度 DLC 引擎提交任务
StarRocks 直接查询 DLC 内部存储
Spark 计算成本优化实践
DATA + AI
使用 DLC 分析 CLS 日志
使用角色 SSO 访问 DLC
资源级鉴权指南
在 DLC 中实现 TCHouse-D 读写操作
DLC 原生表
SQL 语法
SuperSQL 语法
标准 Spark 语法概览
标准 Presto 语法概览
保留字
API 文档
History
Introduction
API Category
Making API Requests
Data Table APIs
Task APIs
Metadata APIs
Service Configuration APIs
Permission Management APIs
Database APIs
Data Source Connection APIs
Data Optimization APIs
Data Engine APIs
Resource Group for the Standard Engine APIs
Data Types
Error Codes
通用类参考
错误码
配额与限制
第三方软件连接DLC操作指南
常见问题
权限类常见问题
引擎类常见问题
功能类常见问题
Spark 作业类常见问题
DLC 政策
隐私协议
数据处理和安全协议
服务等级协议
联系我们

JSON 函数

PDF
聚焦模式
字号
最后更新时间: 2024-08-07 17:32:24

GET_JSON_OBJECT

函数语法:
GET_JSON_OBJECT(<json> string, <path> string)
支持引擎:SparkSQL、Presto。
使用说明:提取 json 对象。
返回类型:string。
示例:
> SELECT get_json_object('{"a":"b"}', '$.a');
b

JSON_TUPLE

函数语法:
JSON_TUPLE(<json> string, <p1> string, ..., <pn> string)
支持引擎:SparkSQL。
使用说明:返回一个类似于函数 get_json_object 的元组,但它需要输入多个名称。所有输入参数和输出列类型都是字符串。
返回类型:struct<string, ..., string>。
示例:
> SELECT json_tuple('{"a":1, "b":2}', 'a', 'b');
1 2

TO_JSON

函数语法:
TO_JSON(<expr> struct|map|array[, <option> map])
支持引擎:SparkSQL、Presto。
使用说明:返回具有给定结构值的 JSON 字符串。
返回类型:string。
示例:
> SELECT to_json(named_struct('a', 1, 'b', 2));
{"a":1,"b":2}
> SELECT to_json(named_struct('time', to_timestamp('2015-08-26', 'yyyy-MM-dd')), map('timestampFormat', 'dd/MM/yyyy'));
{"time":"26/08/2015"}
> SELECT to_json(array(named_struct('a', 1, 'b', 2)));
[{"a":1,"b":2}]
> SELECT to_json(map('a', named_struct('b', 1)));
{"a":{"b":1}}
> SELECT to_json(map(named_struct('a', 1),named_struct('b', 2)));
{"[1]":{"b":2}}
> SELECT to_json(map('a', 1));
{"a":1}
> SELECT to_json(array((map('a', 1))));
[{"a":1}]

FROM_JSON

函数语法:
FROM_JSON(<json> string, <schema> string[, <options> map<string, string>])
支持引擎:SparkSQL、Presto。
使用说明:返回具有给定 jsonStr 和模式的结构值。
返回类型:struct。
示例:
> SELECT from_json('{"a":1, "b":0.8}', 'a INT, b DOUBLE');
{"a":1,"b":0.8}
> SELECT from_json('{"time":"26/08/2015"}', 'time Timestamp', map('timestampFormat', 'dd/MM/yyyy'));
{"time":2015-08-26 00:00:00}

SCHEMA_OF_JSON

函数语法:
SCHEMA_OF_JSON(<json> string[, <options> map<string, string>])
支持引擎:SparkSQL。
使用说明:返回 JSON 字符串的 DDL 格式的结构。
返回类型:string。
示例:
> SELECT schema_of_json('[{"col":0}]');
ARRAY<STRUCT<`col`: BIGINT>>
> SELECT schema_of_json('[{"col":01}]', map('allowNumericLeadingZeros', 'true'));
ARRAY<STRUCT<`col`: BIGINT>>

JSON_ARRAY_LENGTH

函数语法:
JSON_ARRAY_LENGTH(<jsonArray> string)
支持引擎:SparkSQL、Presto。
使用说明:返回最外层 JSON 数组中的元素数。
返回类型:integer。
示例:
> SELECT json_array_length('[1,2,3,4]');
4
> SELECT json_array_length('[1,2,3,{"f1":1,"f2":[5,6]},4]');
5
> SELECT json_array_length('[1,2');
NULL

JSON_OBJECT_KEYS

函数语法:
JSON_OBJECT_KEYS(<json> string)
支持引擎:SparkSQL、Presto。
使用说明:以数组形式返回最外层 JSON 对象的所有键。
返回类型:array<string>。
示例:
> SELECT json_object_keys('{}');
[]
> SELECT json_object_keys('{"key": "value"}');
["key"]
> SELECT json_object_keys('{"f1":"abc","f2":{"f3":"a", "f4":"b"}}');
["f1","f2"]


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈