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"
]
}
}