sql >> データベース >  >> RDS >> Mysql

JSON_PRETTY()–MySQLで読みやすくするためにJSONドキュメントをフォーマットする

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

    1. Debian 5のphpMyAdminでMySQLを管理する(Lenny)

    2. Oracle-文字列のカンマ区切りを分割します(文字列にはスペースと連続したカンマが含まれます)

    3. varcharsql開発者から先行ゼロを削除する

    4. SQLServerでの自然結合