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