跳到主要内容

json_array_length:JSON数组长度

速查结论

json_array_length(jsonArray) 是 Spark SQL 中用于返回最外层 JSON 数组中元素数量的函数。

语法

json_array_length(jsonArray)

参数说明

参数类型说明
jsonArraySTRING一个 JSON 数组字符串。如果输入是任何其他有效的 JSON 字符串、NULL 或无效的 JSON,则返回 NULL

示例

> 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 或非数组类型的有效 JSON(如 '{"a":1}')会返回 NULL,不会抛出异常,注意在数据质量较差的场景中排查 NULL 值。
  • 输入为空字符串也会返回 NULL,而不是 0。

Since: 3.1.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看