Dans MySQL, le JSON_PRETTY()
La fonction fournit une jolie impression des valeurs JSON. Il renvoie les valeurs JSON d'une manière bien formatée, ce qui facilite la lecture pour nous, les humains.
Vous fournissez les valeurs JSON comme argument à la fonction. La fonction renvoie ensuite ces valeurs formatées selon ses règles de formatage.
Syntaxe
La syntaxe ressemble à ceci :
JSON_PRETTY(json_val)
Où json_val
est la valeur JSON à formater. Il doit s'agir d'une valeur JSON ou d'une représentation sous forme de chaîne valide d'une valeur JSON. Si la valeur n'est pas un document JSON, ou si elle ne peut pas être analysée comme telle, la fonction échoue avec une erreur.
Exemple 1 - Utilisation de base
Voici un exemple pour illustrer.
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;
Résultat :
+----------------------------------+ | Result | +----------------------------------+ | { "a": 1, "b": 2, "c": 3 } | +----------------------------------+
La clé et la valeur d'un objet membre sont séparées par deux-points suivis d'un espace (':
‘).
Une virgule séparant les membres de l'objet individuel est imprimée avant la nouvelle ligne qui sépare les deux éléments ou membres.
Exemple 2 – Tableaux
Chaque élément de tableau ou membre d'objet apparaît sur une ligne distincte, en retrait d'un niveau supplémentaire par rapport à son parent.
Une virgule séparant les éléments individuels du tableau est imprimée avant la nouvelle ligne qui sépare les deux éléments ou membres (comme pour les objets).
Voici un exemple de formatage d'un tableau.
SELECT JSON_PRETTY('[1, 2, 3]') Result;
Résultat :
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Voici un exemple de deux tableaux, l'un imbriqué dans l'autre.
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;
Résultat :
+-------------------------------------------+ | Result | +-------------------------------------------+ | [ 1, 2, [ 3, 4, 5 ] ] | +-------------------------------------------+
Exemple 3 – Objets et tableaux vides
Les objets vides et les tableaux sont imprimés sur une seule ligne. Aucun espace n'est imprimé entre l'accolade ouvrante et fermante.
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;
Résultat :
+--------------------------+ | Result | +--------------------------+ | [ 1, 2, [], {} ] | +--------------------------+
Exemple 4 – Espace blanc
Les espaces blancs superflus et les retours à la ligne présents dans cette valeur n'ont aucun effet sur la sortie.
SELECT JSON_PRETTY('[ 1 , 2 , 3]') Result;
Résultat :
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Exemple 5 – Retraits
Chaque niveau d'indentation ajoute deux espaces de début.
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}'; SELECT JSON_PRETTY(@data) Result;
Résultat :
{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }