Resumo : neste tutorial, você aprenderá como usar a JSON_KEYS()
função MySQL para recuperar os nomes das propriedades de um objeto JSON.
Introdução à função JSON_KEYS() do MySQL
A JSON_KEYS()
função é usada para recuperar as chaves ou nomes de propriedades de um objeto JSON em um documento JSON.
Aqui está a sintaxe da JSON_KEYS()
função:
JSON_KEYS(json_doc, [path])
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
json_doc
: este é o objeto JSON do qual você deseja extrair o nome da propriedade.path
(opcional): Este é o caminho que especifica um objeto dentro de um documento cujas chaves você deseja extrair.
A JSON_KEYS()
função retorna uma matriz JSON que contém nomes de propriedades do json_doc
objeto ou do objeto JSON especificado pelo arquivo path
.
A JSON_KEYS()
função retorna NULL
se json_doc
for nulo ou json_doc
não for um objeto JSON válido ou se o caminho não localizar um objeto dentro do arquivo json_doc
.
A JSON_KEYS()
função emite um erro se json_doc
não for um documento JSON válido, o caminho não for válido ou contiver curingas (*) ou (**).
Exemplos de funções JSON_KEYS() do MySQL
Vejamos alguns exemplos de uso da JSON_KEYS()
função:
1) Uso básico da função JSON_KEYS()
Suponha que você tenha o seguinte objeto JSON:
{
"name": "John",
"age": 25,
"job": "MySQL Developer"
}
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O exemplo a seguir usa a JSON_KEYS()
função para extrair todos os nomes de propriedades do objeto JSON acima:
SELECT
JSON_KEYS(
'{"name":"John","age":25,"job":"MySQL Developer"}'
) properties;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+------------------------+
| properties |
+------------------------+
| ["age", "job", "name"] |
+------------------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
2) Usando a função JSON_KEYS() com um caminho
Suponha que você tenha o seguinte documento JSON:
{
"book": {
"title": "The Great Gatsby",
"author": {
"name": "F. Scott Fitzgerald",
"birth_year": 1896
}
}
}
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para extrair as chaves do objeto autor, use o seguinte caminho:
'$.book.author'
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Por exemplo:
SELECT
JSON_KEYS(
'{"book": {"title": "The Great Gatsby", "author": {"name": "F. Scott Fitzgerald", "birth_year": 1896}}}',
'$.book.author'
) author;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+------------------------+
| author |
+------------------------+
| ["name", "birth_year"] |
+------------------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a
JSON_KEYS()
função para recuperar os nomes das propriedades de um objeto JSON.