# 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 实用函数”.