I MySQL er JSON_PRETTY()
funktion giver smuk udskrivning af JSON-værdier. Det returnerer JSON-værdierne på en pænt formateret måde, hvilket gør det nemmere for os mennesker at læse.
Du angiver JSON-værdierne som et argument til funktionen. Funktionen returnerer derefter disse værdier, der er formateret i henhold til dens formateringsregler.
Syntaks
Syntaksen ser sådan ud:
JSON_PRETTY(json_val)
Hvor json_val
er JSON-værdien, der skal formateres. Dette skal være en JSON-værdi eller en gyldig strengrepræsentation af en JSON-værdi. Hvis værdien ikke er et JSON-dokument, eller hvis den ikke kan parses som én, fejler funktionen med en fejl.
Eksempel 1 – Grundlæggende brug
Her er et eksempel til at demonstrere.
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;
Resultat:
+----------------------------------+ | Result | +----------------------------------+ | { "a": 1, "b": 2, "c": 3 } | +----------------------------------+
Nøglen og værdien af et objektmedlem er adskilt af et kolon efterfulgt af et mellemrum (':
').
Et komma, der adskiller individuelle objektmedlemmer, udskrives før den nye linje, der adskiller de to elementer eller medlemmer.
Eksempel 2 – Arrays
Hvert array-element eller objektmedlem vises på en separat linje, indrykket med et ekstra niveau sammenlignet med dets overordnede.
Et komma, der adskiller individuelle matrixelementer, udskrives før den nye linje, der adskiller de to elementer eller medlemmer (samme som med objekter).
Her er et eksempel på formatering af et array.
SELECT JSON_PRETTY('[1, 2, 3]') Result;
Resultat:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Her er et eksempel på to arrays, den ene indlejret i den anden.
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;
Resultat:
+-------------------------------------------+ | Result | +-------------------------------------------+ | [ 1, 2, [ 3, 4, 5 ] ] | +-------------------------------------------+
Eksempel 3 – Tomme objekter og arrays
Tomme objekter og arrays udskrives på en enkelt linje. Der er ikke trykt mellemrum mellem åbnings- og lukkebøjlen.
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;
Resultat:
+--------------------------+ | Result | +--------------------------+ | [ 1, 2, [], {} ] | +--------------------------+
Eksempel 4 – Mellemrum
Uvedkommende mellemrum og nye linjer i denne værdi har ingen effekt på outputtet.
SELECT JSON_PRETTY('[ 1 , 2 , 3]') Result;
Resultat:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Eksempel 5 – Indryk
Hvert indrykningsniveau tilføjer to indledende mellemrum.
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}'; SELECT JSON_PRETTY(@data) Result;
Resultat:
{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }