Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

JSON_PRETTY() – Formate documentos JSON para facilitar a leitura no MySQL


No MySQL, o JSON_PRETTY() A função fornece impressão bonita de valores JSON. Ele retorna os valores JSON de uma maneira bem formatada, o que facilita a leitura para nós, humanos.

Você fornece os valores JSON como um argumento para a função. A função então retorna esses valores formatados de acordo com suas regras de formatação.


Sintaxe


A sintaxe fica assim:
JSON_PRETTY(json_val)

Onde json_val é o valor JSON a ser formatado. Deve ser um valor JSON ou uma representação de string válida de um valor JSON. Se o valor não for um documento JSON ou se não puder ser analisado como um, a função falhará com um erro.

Exemplo 1 – Uso básico


Aqui está um exemplo para demonstrar.
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;

Resultado:
+----------------------------------+
| Result                           |
+----------------------------------+
| {
  "a": 1,
  "b": 2,
  "c": 3
} |
+----------------------------------+

A chave e o valor de um membro do objeto são separados por dois pontos seguidos por um espaço (‘: ‘).

Uma vírgula separando membros de objetos individuais é impressa antes da nova linha que separa os dois elementos ou membros.

Exemplo 2 – Matrizes


Cada elemento de matriz ou membro de objeto aparece em uma linha separada, recuada por um nível adicional em comparação com seu pai.

Uma vírgula separando elementos de matriz individuais é impressa antes da nova linha que separa os dois elementos ou membros (o mesmo que com objetos).

Aqui está um exemplo de formatação de um array.
SELECT JSON_PRETTY('[1, 2, 3]') Result;

Resultado:
+-------------------+
| Result            |
+-------------------+
| [
  1,
  2,
  3
] |
+-------------------+

Aqui está um exemplo de dois arrays, um aninhado dentro do outro.
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;

Resultado:
+-------------------------------------------+
| Result                                    |
+-------------------------------------------+
| [
  1,
  2,
  [
    3,
    4,
    5
  ]
] |
+-------------------------------------------+

Exemplo 3 – Objetos e Arrays Vazios


Objetos e arrays vazios são impressos em uma única linha. Nenhum espaço é impresso entre a chave de abertura e fechamento.
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;

Resultado:
+--------------------------+
| Result                   |
+--------------------------+
| [
  1,
  2,
  [],
  {}
] |
+--------------------------+

Exemplo 4 – Espaço em branco


Espaços em branco estranhos e novas linhas presentes neste valor não têm efeito na saída.
SELECT JSON_PRETTY('[    1    ,  
 
2  ,   

3]') Result;

Resultado:
+-------------------+
| Result            |
+-------------------+
| [
  1,
  2,
  3
] |
+-------------------+

Exemplo 5 – Recuos


Cada nível de recuo adiciona dois espaços à esquerda.
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}';
SELECT JSON_PRETTY(@data) Result;

Resultado:
{
  "Person": {
    "Age": 10,
    "Name": "Bart",
    "Friends": [
      "Bart",
      "Milhouse"
    ]
  }
}