V MySQL je to JSON_PRETTY()
Funkce poskytuje pěkný tisk hodnot JSON. Vrací hodnoty JSON v pěkně naformátovaném způsobu, což nám lidem usnadňuje čtení.
Hodnoty JSON zadáte jako argument funkci. Funkce pak vrátí tyto hodnoty naformátované podle svých pravidel formátování.
Syntaxe
Syntaxe vypadá takto:
JSON_PRETTY(json_val)
Kde json_val
je hodnota JSON k formátování. Musí to být hodnota JSON nebo platná řetězcová reprezentace hodnoty JSON. Pokud hodnota není dokument JSON nebo pokud ji nelze analyzovat jako jednu, funkce selže s chybou.
Příklad 1 – Základní použití
Zde je příklad k demonstraci.
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;
Výsledek:
+----------------------------------+ | Result | +----------------------------------+ | { "a": 1, "b": 2, "c": 3 } | +----------------------------------+
Klíč a hodnota člena objektu jsou odděleny dvojtečkou následovanou mezerou (‘:
‘).
Před nový řádek, který odděluje dva prvky nebo členy, se vytiskne čárka oddělující jednotlivé členy objektu.
Příklad 2 – Pole
Každý prvek pole nebo člen objektu se objeví na samostatném řádku, odsazeném o jednu další úroveň ve srovnání s jeho nadřazeným prvkem.
Před nový řádek, který odděluje dva prvky nebo členy, se vytiskne čárka oddělující jednotlivé prvky pole (stejně jako u objektů).
Zde je příklad formátování pole.
SELECT JSON_PRETTY('[1, 2, 3]') Result;
Výsledek:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Zde je příklad dvou polí, jednoho vnořeného do druhého.
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;
Výsledek:
+-------------------------------------------+ | Result | +-------------------------------------------+ | [ 1, 2, [ 3, 4, 5 ] ] | +-------------------------------------------+
Příklad 3 – Prázdné objekty a pole
Prázdné objekty a pole se tisknou na jeden řádek. Mezi otevírací a zavírací závorkou není vytištěna žádná mezera.
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;
Výsledek:
+--------------------------+ | Result | +--------------------------+ | [ 1, 2, [], {} ] | +--------------------------+
Příklad 4 – mezery
Nadbytečné bílé znaky a nové řádky přítomné v této hodnotě nemají žádný vliv na výstup.
SELECT JSON_PRETTY('[ 1 , 2 , 3]') Result;
Výsledek:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Příklad 5 – Odsazení
Každá úroveň odsazení přidá dvě úvodní mezery.
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}'; SELECT JSON_PRETTY(@data) Result;
Výsledek:
{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }