MariaDB jsonオブジェクトか配列であるかを確認する

MariaDB jsonオブジェクトか配列であるかを確認する

MariaDBで、jsonオブジェクトか配列であるかを確認する手順を記述してます。「JSON_TYPE」に値を指定することで可能です。ここでは、実際に使用した結果を画像で掲載してます。

環境

  • OS CentOS Stream release 9
  • MariaDB 10.10.2
  • phpMyAdmin 5.2.0

手順

jsonオブジェクトか配列であるかを確認する場合は、「JSON_TYPE」を使用します。

JSON_TYPE(値)

※配列であれば Array が、JSONであれば OBJECT が返ります

実際に、判定してみます。

SELECT 
JSON_TYPE('["a", 1]'),
JSON_TYPE('["a", ["b",1]]'),
JSON_TYPE('{"key1": "value1"}'),
JSON_TYPE('{"key1": "value1","key2": {"key1": "value1"}}')

実行結果をみると、判定されていることが確認できます。

jsonオブジェクトやリストでないものを判定した場合は、以下の結果となります。

SELECT 
JSON_TYPE('"a"'),
JSON_TYPE('1'),
JSON_TYPE('"2021-11-11"')

実行結果