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