sql >> Base de Datos >  >> RDS >> Mysql

JSON_PRETTY():formatee documentos JSON para facilitar la legibilidad en MySQL

En MySQL, JSON_PRETTY() La función proporciona una impresión bonita de los valores JSON. Devuelve los valores JSON con un formato agradable, lo que nos facilita la lectura a los humanos.

Proporcione los valores JSON como un argumento para la función. Luego, la función devuelve esos valores formateados de acuerdo con sus reglas de formato.

Sintaxis

La sintaxis es así:

JSON_PRETTY(json_val)

Donde json_val es el valor JSON a formatear. Debe ser un valor JSON o una representación de cadena válida de un valor JSON. Si el valor no es un documento JSON, o si no se puede analizar como tal, la función falla con un error.

Ejemplo 1:uso básico

Aquí hay un ejemplo para demostrarlo.

SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;

Resultado:

+----------------------------------+
| Result                           |
+----------------------------------+
| {
  "a": 1,
  "b": 2,
  "c": 3
} |
+----------------------------------+

La clave y el valor de un miembro del objeto están separados por dos puntos seguidos de un espacio (‘: ‘).

Se imprime una coma que separa los miembros individuales del objeto antes de la nueva línea que separa los dos elementos o miembros.

Ejemplo 2:matrices

Cada elemento de matriz o miembro de objeto aparece en una línea separada, con una sangría de un nivel adicional en comparación con su padre.

Se imprime una coma que separa los elementos individuales de la matriz antes de la nueva línea que separa los dos elementos o miembros (igual que con los objetos).

Este es un ejemplo de formateo de una matriz.

SELECT JSON_PRETTY('[1, 2, 3]') Result;

Resultado:

+-------------------+
| Result            |
+-------------------+
| [
  1,
  2,
  3
] |
+-------------------+

Este es un ejemplo de dos arreglos, uno anidado dentro del otro.

SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;

Resultado:

+-------------------------------------------+
| Result                                    |
+-------------------------------------------+
| [
  1,
  2,
  [
    3,
    4,
    5
  ]
] |
+-------------------------------------------+

Ejemplo 3:matrices y objetos vacíos

Los objetos vacíos y las matrices se imprimen en una sola línea. No se imprime ningún espacio entre la llave de apertura y la de cierre.

SELECT JSON_PRETTY('[1, 2, [], {}]') Result;

Resultado:

+--------------------------+
| Result                   |
+--------------------------+
| [
  1,
  2,
  [],
  {}
] |
+--------------------------+

Ejemplo 4:espacios en blanco

Los espacios en blanco extraños y las líneas nuevas presentes en este valor no tienen efecto en la salida.

SELECT JSON_PRETTY('[    1    ,  
 
2  ,   

3]') Result;

Resultado:

+-------------------+
| Result            |
+-------------------+
| [
  1,
  2,
  3
] |
+-------------------+

Ejemplo 5:sangrías

Cada nivel de sangría agrega dos espacios iniciales.

SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}';
SELECT JSON_PRETTY(@data) Result;

Resultado:

{
  "Person": {
    "Age": 10,
    "Name": "Bart",
    "Friends": [
      "Bart",
      "Milhouse"
    ]
  }
}