sql >> Database teknologi >  >> RDS >> Mysql

JSON_PRETTY() – Formater JSON-dokumenter for lettere læsbarhed i MySQL

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

  1. Hvorfor ville Oracle.ManagedDataAccess ikke fungere, når Oracle.DataAccess gør?

  2. Hvornår skal jeg lukke DatabaseHelper?

  3. Begrænsning af datafleksibilitet i en NoSQL-database

  4. Sådan bruger du flere databaser i Laravel