MySQLを使用する場合は、JSON_VALID()
を使用できます。 文字列式に有効なJSONが含まれているかどうかをテストする関数。
式に有効なJSONが含まれている場合、JSON_VALID()
1
を返します 、それ以外の場合は、0
を返します 。
構文
構文は次のようになります:
JSON_VALID(val)
val
の場所 有効なJSONをテストする値です。
例1-有効なJSON
文字列に有効なJSONが含まれている場合に何が起こるかを示す例を次に示します。
SELECT JSON_VALID('{"Name": "Bart"}') AS Result;
結果:
+--------+ | Result | +--------+ | 1 | +--------+
例2–無効なJSON
文字列がない場合に何が起こるかを示す例を次に示します。 有効なJSONが含まれています。
SELECT JSON_VALID('Name: Bart') AS Result;
結果:
+--------+ | Result | +--------+ | 0 | +--------+
例3–データベースの例
このデータベースクエリでは、結果はCollections.Contents
の場所でのみ返されます 列に有効なJSONが含まれています。
この特定の列は、json
のデータ型を使用します JSONドキュメントを保存します。
SELECT Contents FROM Collections WHERE JSON_VALID(Contents) = 1;
結果:
+------------+ | Contents | |------------| | [ { "ArtistName": "AC/DC", "Albums": [ { "AlbumName": "Powerage" } ] }, { "ArtistName": "Devin Townsend", "Albums": [ { "AlbumName": "Ziltoid the Omniscient" }, { "AlbumName": "Casualties of Cool" }, { "AlbumName": "Epicloud" } ] }, { "ArtistName": "Iron Maiden", "Albums": [ { "AlbumName": "Powerslave" }, { "AlbumName": "Somewhere in Time" }, { "AlbumName": "Piece of Mind" }, { "AlbumName": "Killers" }, { "AlbumName": "No Prayer for the Dying" } ] } ] | +------------+
isn't
有効なJSON。
SELECT Contents FROM Collections WHERE JSON_VALID(Contents) = 0;
結果:
Empty set (0.00 sec)