Mysql
 sql >> Database >  >> RDS >> Mysql

JSON_PRETTY() – Formatta documenti JSON per una maggiore leggibilità in MySQL

In MySQL, il JSON_PRETTY() La funzione fornisce una stampa graziosa dei valori JSON. Restituisce i valori JSON in un modo ben formattato, il che rende più facile la lettura per noi umani.

Fornisci i valori JSON come argomento per la funzione. La funzione restituisce quindi quei valori formattati in base alle sue regole di formattazione.

Sintassi

La sintassi è questa:

JSON_PRETTY(json_val)

Dove json_val è il valore JSON da formattare. Deve essere un valore JSON o una rappresentazione di stringa valida di un valore JSON. Se il valore non è un documento JSON, o se non può essere analizzato come tale, la funzione non riesce con un errore.

Esempio 1 – Utilizzo di base

Ecco un esempio da dimostrare.

SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;

Risultato:

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

La chiave e il valore di un membro oggetto sono separati da due punti seguiti da uno spazio (': ').

Una virgola che separa i singoli membri dell'oggetto viene stampata prima della nuova riga che separa i due elementi o membri.

Esempio 2 – Matrici

Ogni elemento dell'array o membro dell'oggetto viene visualizzato su una riga separata, rientrata di un livello aggiuntivo rispetto al suo genitore.

Una virgola che separa i singoli elementi dell'array viene stampata prima della nuova riga che separa i due elementi o membri (come con gli oggetti).

Ecco un esempio di formattazione di un array.

SELECT JSON_PRETTY('[1, 2, 3]') Result;

Risultato:

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

Ecco un esempio di due array, uno nidificato dentro l'altro.

SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;

Risultato:

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

Esempio 3:oggetti e array vuoti

Gli oggetti e gli array vuoti vengono stampati su una singola riga. Non viene stampato alcuno spazio tra la parentesi graffa di apertura e di chiusura.

SELECT JSON_PRETTY('[1, 2, [], {}]') Result;

Risultato:

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

Esempio 4 – Spazi bianchi

Gli spazi bianchi e le nuove righe estranei presenti in questo valore non hanno alcun effetto sull'output.

SELECT JSON_PRETTY('[    1    ,  
 
2  ,   

3]') Result;

Risultato:

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

Esempio 5 – Rientri

Ogni livello di rientro aggiunge due spazi iniziali.

SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}';
SELECT JSON_PRETTY(@data) Result;

Risultato:

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