W MySQL funkcja JSON_PRETTY()
funkcja zapewnia ładne drukowanie wartości JSON. Zwraca wartości JSON w ładnie sformatowany sposób, co ułatwia nam, ludziom, czytanie.
Podajesz wartości JSON jako argument funkcji. Funkcja następnie zwraca te wartości sformatowane zgodnie z jej regułami formatowania.
Składnia
Składnia wygląda tak:
JSON_PRETTY(json_val)
Gdzie json_val
to wartość JSON do sformatowania. Musi to być wartość JSON lub prawidłowa reprezentacja wartości JSON w postaci ciągu. Jeśli wartość nie jest dokumentem JSON lub jeśli nie można jej przeanalizować jako jedności, funkcja kończy się niepowodzeniem z błędem.
Przykład 1 – Podstawowe użycie
Oto przykład do zademonstrowania.
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;
Wynik:
+----------------------------------+ | Result | +----------------------------------+ | { "a": 1, "b": 2, "c": 3 } | +----------------------------------+
Klucz i wartość elementu członkowskiego obiektu są oddzielone dwukropkiem, po którym następuje spacja („:
‘).
Przecinek oddzielający poszczególne elementy obiektu jest drukowany przed znakiem nowej linii oddzielającym dwa elementy lub elementy.
Przykład 2 – Tablice
Każdy element tablicy lub element obiektu pojawia się w osobnym wierszu, z wcięciem o jeden dodatkowy poziom w porównaniu z jego rodzicem.
Przecinek oddzielający poszczególne elementy tablicy jest drukowany przed znakiem nowej linii oddzielającym dwa elementy lub składowe (tak samo jak w przypadku obiektów).
Oto przykład formatowania tablicy.
SELECT JSON_PRETTY('[1, 2, 3]') Result;
Wynik:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Oto przykład dwóch tablic, jednej zagnieżdżonej w drugiej.
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;
Wynik:
+-------------------------------------------+ | Result | +-------------------------------------------+ | [ 1, 2, [ 3, 4, 5 ] ] | +-------------------------------------------+
Przykład 3 – Puste obiekty i tablice
Puste obiekty i tablice są drukowane w jednym wierszu. Pomiędzy klamrą otwierającą i zamykającą nie jest drukowana spacja.
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;
Wynik:
+--------------------------+ | Result | +--------------------------+ | [ 1, 2, [], {} ] | +--------------------------+
Przykład 4 – Białe znaki
Dodatkowe spacje i znaki nowej linii obecne w tej wartości nie mają wpływu na wynik.
SELECT JSON_PRETTY('[ 1 , 2 , 3]') Result;
Wynik:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Przykład 5 – Wcięcia
Każdy poziom wcięcia dodaje dwie spacje wiodące.
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}'; SELECT JSON_PRETTY(@data) Result;
Wynik:
{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }