get_json_string

description

Syntax

VARCHAR get_json_string (VARCHAR json str, VARCHAR json path)

Parse and retrieve the string content of the specified path in the JSON string. Where json_path must start with the $symbol and use. as the path splitter. If the path contains…, double quotation marks can be used to surround it. Use [] to denote array subscripts, starting at 0. The content of path cannot contain “,[and]. If the json_string format is incorrect, or the json_path format is incorrect, or matches cannot be found, NULL is returned.

In addition, it is recommended to use the jsonb type and jsonb_extract_XXX function performs the same function.

example

  1. Get the value of key as “k1”
  1. mysql> SELECT get_json_string('{"k1":"v1", "k2":"v2"}', "$.k1");
  2. +---------------------------------------------------+
  3. | get_json_string('{"k1":"v1", "k2":"v2"}', '$.k1') |
  4. +---------------------------------------------------+
  5. | v1 |
  6. +---------------------------------------------------+
  1. Get the second element of the array whose key is “my. key”
  1. mysql> SELECT get_json_string('{"k1":"v1", "my.key":["e1", "e2", "e3"]}', '$."my.key"[1]');
  2. +------------------------------------------------------------------------------+
  3. | get_json_string('{"k1":"v1", "my.key":["e1", "e2", "e3"]}', '$."my.key"[1]') |
  4. +------------------------------------------------------------------------------+
  5. | e2 |
  6. +------------------------------------------------------------------------------+
  1. Get the first element in an array whose secondary path is k1. key - > K2
  1. mysql> SELECT get_json_string('{"k1.key":{"k2":["v1", "v2"]}}', '$."k1.key".k2[0]');
  2. +-----------------------------------------------------------------------+
  3. | get_json_string('{"k1.key":{"k2":["v1", "v2"]}}', '$."k1.key".k2[0]') |
  4. +-----------------------------------------------------------------------+
  5. | v1 |
  6. +-----------------------------------------------------------------------+
  1. Get all the values in the array where the key is “k1”
  1. mysql> SELECT get_json_string('[{"k1":"v1"}, {"k2":"v2"}, {"k1":"v3"}, {"k1":"v4"}]', '$.k1');
  2. +---------------------------------------------------------------------------------+
  3. | get_json_string('[{"k1":"v1"}, {"k2":"v2"}, {"k1":"v3"}, {"k1":"v4"}]', '$.k1') |
  4. +---------------------------------------------------------------------------------+
  5. | ["v1","v3","v4"] |
  6. +---------------------------------------------------------------------------------+

keywords

GET_JSON_STRING,GET,JSON,STRING