SQLite json_array_length() 函数使用指南

SQLite json_array_length() 函数返回一个指定的 JSON 数组或者数组中通过路径指定的数组的元素数量。

json_array_length() 语法

这是 SQLite json_array_length() 函数的语法:

json_array_length(json_array)

json_array_length(json_doc, path)

参数

json_array
必需的。 一个 JSON 数组。
path
必需的。 一个路径表达式。

返回值

SQLite json_array_length(json_array) 函数返回一个 JSON 数组 json_array 中的元素的数量。

SQLite json_array_length(json_array, path) 函数返回一个 JSON 文档 json_doc 中通过路径 path 指定的数组中的元素的数量。

json_array_length() 示例

本示例展示了如何使用 SQLite json_array_length() 函数获得一个 JSON 数组 [1, 2, [3, 4]] 中的元素数量。

SELECT json_array_length('[1, 2, [3, 4]]');
json_array_length('[1, 2, [3, 4]]')
-----------------------------------
3

这里, 数组 [1, 2, [3, 4]] 中含有 3 顶层元素,因此 json_array_length() 函数返回了 3。

您可以通过路径 $[2] 获取 [1, 2, [3, 4]] 中的内部数组 [3, 4] 中的元素的数量:

SELECT json_array_length('[1, 2, [3, 4]]', '$[2]');
json_array_length('[1, 2, [3, 4]]', '$[2]')
-------------------------------------------
2

再看几个其他的例子:

SELECT
    json_array_length('[1,2,3,4]'),
    json_array_length('[1,2,3,4]', '$'),
    json_array_length('[1,2,3,4]', '$[2]'),
    json_array_length('{"one":[1,2,3]}'),
    json_array_length('{"one":[1,2,3]}', '$.one'),
    json_array_length('{"one":[1,2,3]}', '$.two');
               json_array_length('[1,2,3,4]') = 4
          json_array_length('[1,2,3,4]', '$') = 4
       json_array_length('[1,2,3,4]', '$[2]') = 0
         json_array_length('{"one":[1,2,3]}') = 0
json_array_length('{"one":[1,2,3]}', '$.one') = 3
json_array_length('{"one":[1,2,3]}', '$.two') =