Mysql
 sql >> Base de données >  >> RDS >> Mysql

JSON_PRETTY() - Formater les documents JSON pour une lisibilité plus facile dans MySQL

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)

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