MySQL 8.4 Release Notes
        
Table 14.22 JSON Functions
| Name | Description | Deprecated | 
|---|---|---|
-> | 
Return value from JSON column after evaluating path; equivalent to JSON_EXTRACT(). | |
->> | 
Return value from JSON column after evaluating path and unquoting the result; equivalent to JSON_UNQUOTE(JSON_EXTRACT()). | |
JSON_ARRAY() | 
Create JSON array | |
JSON_ARRAY_APPEND() | 
Append data to JSON document | |
JSON_ARRAY_INSERT() | 
Insert into JSON array | |
JSON_CONTAINS() | 
Whether JSON document contains specific object at path | |
JSON_CONTAINS_PATH() | 
Whether JSON document contains any data at path | |
JSON_DEPTH() | 
Maximum depth of JSON document | |
JSON_EXTRACT() | 
Return data from JSON document | |
JSON_INSERT() | 
Insert data into JSON document | |
JSON_KEYS() | 
Array of keys from JSON document | |
JSON_LENGTH() | 
Number of elements in JSON document | |
JSON_MERGE() | 
Merge JSON documents, preserving duplicate keys. Deprecated synonym for JSON_MERGE_PRESERVE() | Yes | 
JSON_MERGE_PATCH() | 
Merge JSON documents, replacing values of duplicate keys | |
JSON_MERGE_PRESERVE() | 
Merge JSON documents, preserving duplicate keys | |
JSON_OBJECT() | 
Create JSON object | |
JSON_OVERLAPS() | 
Compares two JSON documents, returns TRUE (1) if these have any key-value pairs or array elements in common, otherwise FALSE (0) | |
JSON_PRETTY() | 
Print a JSON document in human-readable format | |
JSON_QUOTE() | 
Quote JSON document | |
JSON_REMOVE() | 
Remove data from JSON document | |
JSON_REPLACE() | 
Replace values in JSON document | |
JSON_SCHEMA_VALID() | 
Validate JSON document against JSON schema; returns TRUE/1 if document validates against schema, or FALSE/0 if it does not | |
JSON_SCHEMA_VALIDATION_REPORT() | 
Validate JSON document against JSON schema; returns report in JSON format on outcome on validation including success or failure and reasons for failure | |
JSON_SEARCH() | 
Path to value within JSON document | |
JSON_SET() | 
Insert data into JSON document | |
JSON_STORAGE_FREE() | 
Freed space within binary representation of JSON column value following partial update | |
JSON_STORAGE_SIZE() | 
Space used for storage of binary representation of a JSON document | |
JSON_TABLE() | 
Return data from a JSON expression as a relational table | |
JSON_TYPE() | 
Type of JSON value | |
JSON_UNQUOTE() | 
Unquote JSON value | |
JSON_VALID() | 
Whether JSON value is valid | |
JSON_VALUE() | 
Extract value from JSON document at location pointed to by path provided; return this value as VARCHAR(512) or specified type | |
MEMBER OF() | 
Returns true (1) if first operand matches any element of JSON array passed as second operand, otherwise returns false (0) | 
      MySQL supports two aggregate JSON functions
      JSON_ARRAYAGG() and
      JSON_OBJECTAGG(). See
      Section 14.19, “Aggregate Functions”, for
      descriptions of these.
    
      MySQL also supports “pretty-printing” of JSON values
      in an easy-to-read format, using the
      JSON_PRETTY() function. You can see
      how much storage space a given JSON value takes up, and how much
      space remains for additional storage, using
      JSON_STORAGE_SIZE() and
      JSON_STORAGE_FREE(), respectively.
      For complete descriptions of these functions, see
      Section 14.17.8, “JSON Utility Functions”.