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