# 12.18.1 JSON 函数参考
表 12.22 JSON 函数
姓名 | 描述 | 介绍 | 已弃用 |
---|---|---|---|
-> | 评估路径后从 JSON 列返回值;相当于 JSON_提炼()。 | ||
->> | 评估路径并取消引用结果后从 JSON 列返回值;相当于 JSON_取消引用(JSON_提炼())。 | ||
JSON_ARRAY() | 创建 JSON 数组 | ||
JSON_ARRAY_APPEND() | 将数据附加到 JSON 文档 | ||
JSON_ARRAY_INSERT() | 插入 JSON 数组 | ||
JSON_CONTAINS() | JSON 文档是否在路径中包含特定对象 | ||
JSON_CONTAINS_PATH() | JSON 文档是否包含路径中的任何数据 | ||
JSON_DEPTH() | JSON 文档的最大深度 | ||
JSON_EXTRACT() | 从 JSON 文档返回数据 | ||
JSON_INSERT() | 将数据插入 JSON 文档 | ||
JSON_KEYS() | JSON 文档中的键数组 | ||
JSON_LENGTH() | JSON 文档中的元素数 | ||
JSON_MERGE() | 合并 JSON 文档,保留重复键。不推荐使用的 JSON 同义词_合并_保存() | 是的 | |
JSON_MERGE_PATCH() | 合并 JSON 文档,替换重复键的值 | ||
JSON_MERGE_PRESERVE() | 合并 JSON 文档,保留重复键 | ||
JSON_OBJECT() | 创建 JSON 对象 | ||
JSON_OVERLAPS() | 比较两个 JSON 文档,如果它们有任何共同的键值对或数组元素,则返回 TRUE (1),否则返回 FALSE (0) | 8.0.17 | |
JSON_PRETTY() | 以人类可读的格式打印 JSON 文档 | ||
JSON_QUOTE() | 引用 JSON 文档 | ||
JSON_REMOVE() | 从 JSON 文档中删除数据 | ||
JSON_REPLACE() | 替换 JSON 文档中的值 | ||
JSON_SCHEMA_VALID() | 根据 JSON 模式验证 JSON 文档;如果文档根据架构验证,则返回 TRUE/1,否则返回 FALSE/0 | 8.0.17 | |
JSON_SCHEMA_VALIDATION_REPORT() | 根据 JSON 模式验证 JSON 文档;返回 JSON 格式的关于验证结果的报告,包括成功或失败以及失败的原因 | 8.0.17 | |
JSON_SEARCH() | JSON 文档中值的路径 | ||
JSON_SET() | 将数据插入 JSON 文档 | ||
JSON_STORAGE_FREE() | 部分更新后在 JSON 列值的二进制表示中释放空间 | ||
JSON_STORAGE_SIZE() | 用于存储 JSON 文档的二进制表示的空间 | ||
JSON_TABLE() | 从 JSON 表达式返回数据作为关系表 | ||
JSON_TYPE() | JSON 值的类型 | ||
JSON_UNQUOTE() | 取消引用 JSON 值 | ||
JSON_VALID() | JSON值是否有效 | ||
JSON_VALUE() | 从提供的路径指向的位置的 JSON 文档中提取值;将此值作为 VARCHAR(512) 或指定类型返回 | 8.0.21 | |
成员() | 如果第一个操作数与作为第二个操作数传递的 JSON 数组的任何元素匹配,则返回 true (1),否则返回 false (0) | 8.0.17 |
MySQL 支持两个聚合 JSON 函数JSON_ARRAYAGG()
和JSON_OBJECTAGG()
.看第 12.20 节,“聚合函数”, 对于这些的描述。
MySQL 还支持以易于阅读的格式“漂亮打印”JSON 值,使用JSON_PRETTY()
功能。您可以查看给定 JSON 值占用了多少存储空间,以及剩余多少空间可用于额外存储,使用JSON_STORAGE_SIZE()
和JSON_STORAGE_FREE()
, 分别。有关这些功能的完整说明,请参阅第 12.18.8 节,“JSON 实用函数”.