JSON Path Syntax JSON_REMOVE()  takes a JSON document and one or more paths that specify values to be removed from the document. The return value is the original document minus the values selected by paths that exist within the document: mysql>  SELECT JSON_REMOVE(@j, ’$[2]’, ’$[1].b[1]’, ’$[1].b[1]’); +---------------------------------------------------+ | JSON_REMOVE(@j, ’$[2]’, ’$[1].b[1]’, ’$[1].b[1]’) | +---------------------------------------------------+ | ["a", {"b": [true]}] | +---------------------------------------------------+ • $[2]  matches  [10, 20]  and removes it. •The first instance of  $[1].b[1]  matches  false  in the  b  element and removes it. •The second instance of  $[1].b[1]  matches nothing: That element has already been removed, the path no longer exists, and has no effect. The paths have these effects: JSON Path Syntax Many of the JSON functions supported by MySQL and described elsewhere in this Manual (see Section 12.18, “JSON Functions” ) require a path expression in order to identify a specific element in a JSON document. A path consists of the path’s scope followed by one or more path legs. For paths used in MySQL JSON functions, the scope is always the document being searched or otherwise operated on, represented by a leading  $  character. Path legs are separated by period characters ( . ). Cells in arrays are represented by  [ N ] , where  N  is a non-negative integer. Names of keys must be double-quoted strings or valid ECMAScript identifiers (see  Identifier Names and Identifiers , in the  ECMAScript Language Specification ). Path expressions, like JSON text, should be encoded using the  ascii ,  utf8 , or  utf8mb4 character set. Other character encodings are implicitly coerced to  utf8mb4 . The complete syntax is shown here: pathExpression : scope [( pathLeg )*] pathLeg : member  |  arrayLocation  |  doubleAsterisk member : period  (  keyName  |  asterisk  ) arrayLocation : leftBracket  (  nonNegativeInteger  |  asterisk  )  rightBracket keyName : ESIdentifier  |  doubleQuotedString doubleAsterisk : ’**’ period : ’.’ asterisk : ’*’ leftBracket : ’[’ rightBracket : ’]’ 2079