В MySQL, JSON_PRETTY()
функцията осигурява красиво отпечатване на JSON стойности. Той връща стойностите на JSON по добре форматиран начин, което улеснява четенето за нас, хората.
Вие предоставяте стойностите на JSON като аргумент на функцията. След това функцията връща тези стойности, форматирани според нейните правила за форматиране.
Синтаксис
Синтаксисът е така:
JSON_PRETTY(json_val)
Където json_val
е JSON стойността за форматиране. Това трябва да е JSON стойност или валидно низово представяне на стойност JSON. Ако стойността не е JSON документ или ако не може да бъде анализирана като такава, функцията се проваля с грешка.
Пример 1 – Основна употреба
Ето пример за демонстрация.
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;
Резултат:
+----------------------------------+ | Result | +----------------------------------+ | { "a": 1, "b": 2, "c": 3 } | +----------------------------------+
Ключът и стойността на член на обекта са разделени от двоеточие, последвано от интервал (‘:
‘).
Запетая, разделяща отделните членове на обекта, се отпечатва преди новия ред, който разделя двата елемента или члена.
Пример 2 – Масиви
Всеки елемент на масива или член на обект се появява на отделен ред, с отстъп с едно допълнително ниво в сравнение с неговия родител.
Запетая, разделяща отделните елементи на масива, се отпечатва преди новия ред, който разделя двата елемента или членове (същото като при обектите).
Ето пример за форматиране на масив.
SELECT JSON_PRETTY('[1, 2, 3]') Result;
Резултат:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Ето пример за два масива, единият вложен в друг.
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;
Резултат:
+-------------------------------------------+ | Result | +-------------------------------------------+ | [ 1, 2, [ 3, 4, 5 ] ] | +-------------------------------------------+
Пример 3 – Празни обекти и масиви
Празните обекти и масиви се отпечатват на един ред. Между отварящата и затварящата скоба не се отпечатва пространство.
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;
Резултат:
+--------------------------+ | Result | +--------------------------+ | [ 1, 2, [], {} ] | +--------------------------+
Пример 4 – празно пространство
Извънредните бели интервали и нови редове, присъстващи в тази стойност, нямат ефект върху изхода.
SELECT JSON_PRETTY('[ 1 , 2 , 3]') Result;
Резултат:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Пример 5 – Отстъпи
Всяко ниво на отстъп добавя две водещи интервали.
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}'; SELECT JSON_PRETTY(@data) Result;
Резултат:
{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }