MySQL JSON_EXTRACT() 函数
时间:2022-12-24
MySQL JSON_EXTRACT()
函数在 JSON 文档提取路径表达式指定的数据并返回。
JSON_EXTRACT()
语法
这里是 MySQL JSON_EXTRACT()
的语法:
JSON_EXTRACT(json, path, ...)
参数
json
- 必需的。一个 JSON 文档。
path
- 必需的。您应该至少指定一个路径表达式。
返回值
JSON_EXTRACT()
函数返回 JSON 文档中由路径表达式匹配的所有的值。如果路径表达式匹配了一个值,则返回该值,如果路径表达式匹配了多个值,则返回一个包含了所有值的数组。
如果存在以下的情况, JSON_EXTRACT()
函数将返回 NULL
:
- 如果 JSON 文档中不存在指定的路径。
- 如果任意一个参数为
NULL
。
JSON_EXTRACT()
函数将在以下情况下返回错误:
- 如果参数
json
不是有效的 JSON 文档,MySQL 将会给出错误。您可以使用JSON_VALID()
验证 JSON 文档的有效性。 - 如果参数
path
不是有效的路径表达式, MySQL 将会给出错误。
JSON_EXTRACT()
示例
这里列出了几个常见的 JSON_EXTRACT()
用法示例。
示例: 数组
下面的语句展示了如何从数组中提取一个元素:
SELECT JSON_EXTRACT('[1, 2, {"x": 3}]', '$[2]');
+------------------------------------------+
| JSON_EXTRACT('[1, 2, {"x": 3}]', '$[2]') |
+------------------------------------------+
| {"x": 3} |
+------------------------------------------+
让我们再看一个带有多个路径参数的例子:
SELECT JSON_EXTRACT('[1, 2, {"x": 3}]', '$[2].x', '$[1]', '$[0]');
+------------------------------------------------------------+
| JSON_EXTRACT('[1, 2, {"x": 3}]', '$[2].x', '$[1]', '$[0]') |
+------------------------------------------------------------+
| [3, 2, 1] |
+------------------------------------------------------------+
示例: 对象
下面的语句展示了如何从对象中提取一个节点的值:
SELECT JSON_EXTRACT('{"x": 1, "y": [1, 2]}', '$.y');
+----------------------------------------------+
| JSON_EXTRACT('{"x": 1, "y": [1, 2]}', '$.y') |
+----------------------------------------------+
| [1, 2] |
+----------------------------------------------+
让我们再看一个带有多个路径参数的例子:
SELECT JSON_EXTRACT('{"x": 1, "y": [1, 2]}', '$.x', '$.y');
+-----------------------------------------------------+
| JSON_EXTRACT('{"x": 1, "y": [1, 2]}', '$.x', '$.y') |
+-----------------------------------------------------+
| [1, [1, 2]] |
+-----------------------------------------------------+
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。