MySQLでは、JSON_PRETTY()
関数は、JSON値のきれいな印刷を提供します。 JSON値を適切にフォーマットされた方法で返すため、人間が読みやすくなります。
関数の引数としてJSON値を指定します。次に、関数は、フォーマット規則に従ってフォーマットされた値を返します。
構文
構文は次のようになります:
JSON_PRETTY(json_val)
ここで、json_val
フォーマットするJSON値です。これは、JSON値またはJSON値の有効な文字列表現である必要があります。値がJSONドキュメントでない場合、または値を1つとして解析できない場合、関数はエラーで失敗します。
例1-基本的な使用法
実例を示します。
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;
結果:
+----------------------------------+ | Result | +----------------------------------+ | { "a": 1, "b": 2, "c": 3 } | +----------------------------------+
オブジェクトメンバーのキーと値は、コロンとそれに続くスペースで区切られます(‘:
‘)。
個々のオブジェクトメンバーを区切るコンマは、2つの要素またはメンバーを区切る改行の前に出力されます。
例2–アレイ
各配列要素またはオブジェクトメンバーは、親と比較して1つの追加レベルでインデントされた、別々の行に表示されます。
個々の配列要素を区切るコンマは、2つの要素またはメンバーを区切る改行の前に出力されます(オブジェクトの場合と同じ)。
配列のフォーマットの例を次に示します。
SELECT JSON_PRETTY('[1, 2, 3]') Result;
結果:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
これは2つの配列の例で、一方が他方の中にネストされています。
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;
結果:
+-------------------------------------------+ | Result | +-------------------------------------------+ | [ 1, 2, [ 3, 4, 5 ] ] | +-------------------------------------------+
例3–空のオブジェクトと配列
空のオブジェクトと配列は1行に出力されます。開閉ブレースの間にスペースは印刷されません。
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;
結果:
+--------------------------+ | Result | +--------------------------+ | [ 1, 2, [], {} ] | +--------------------------+
例4–空白
この値に存在する無関係な空白と改行は、出力に影響を与えません。
SELECT JSON_PRETTY('[1, 2, 3]') Result;
結果:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
例5–インデント
インデントの各レベルは、2つの先頭のスペースを追加します。
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}'; SELECT JSON_PRETTY(@data) Result;
結果:
{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }