跳到主要内容
翻译页面

本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。

JSON_TYPE

返回输入的 JSON 对象或数组及路径的最外层元素的数据类型。

另请参阅:
[SELECT] [DESCRIBE] [JSON_EXTRACT] [ 数据类型 ]


提示

使用 DESCRIBE 函数查找可与 StackQL JSON 函数配合使用的 array 或 object 数据类型。

备注

搭配 postgres SQL 后端使用 stackql 时,json_type 函数实现为 json_typeof 函数。

语法​

SELECT JSON_TYPE(json_array_or_object, json_path)
FROM <multipartIdentifier>;

参数​

json_array_or_object
JSON 数组或对象。

json_path
指向 json_array_or_object 中包含的数组或对象的 JSON 路径。请参阅 jsonpath.com。

如果 json_path 在 json_array_or_object 中不存在,则函数返回 NULL。

如果任一参数格式不正确,json_type() 函数会抛出错误。

返回值​

表示解析得到的数据类型的字符串。

数据类型包括 null、true、false、integer、real、text、array 或 object。


示例​

返回嵌套在 JSON 对象或数组中的字段的数据类型​

SELECT json_type(disks, '$[0].licenses[0]') as datatype
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
/* returns text */

有关更多信息,请参阅 https://www.sqlite.org/json1.html#jtype