概要
文字列が正しいJSONフォーマットかどうかを確認するにはjson_valid
関数を使用する。
引数にJSONの文字列を渡すと、「1」が返れば正しいJSONフォーマット、「0」が返れば正しくないJSONフォーマットということになる。
JSONフォーマットについて正しく勉強したい場合はRFCを見ること。
構文
json_valid(string)
環境
- Windows 10 64bit
- SQLite3 (3.40.1) Command-Line Shell
実行例
sqlite> -- # 1.
sqlite> select json_valid('
...> {"a":1, "b":2}
...> ');
1
sqlite> -- # 2.
sqlite> select json_valid('
...> {"a":1, "b":2
...> ');
0
sqlite> -- # 3.
sqlite> select json_valid(
...> json('[1,2,3,4]')
...> );
1
sqlite> -- # 4.
sqlite> select json_valid(
...> 1
...> );
1
sqlite> -- # 5.
sqlite> select json_valid(
...> [1,2,3]
...> );
Parse error: no such column: 1,2,3
select json_valid( [1,2,3] );
^--- error here
- 正しいJSONフォーマットなら1が返る。
- 間違ったJSONフォーマットなら0が返る。
- JSONオブジェクトを渡しても1が返る。
- 数値や文字列もJSONとして判定される模様。
- 文字列として渡さなければエラー。
参考URL
-
Command Line Shell For SQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html -
The json_valid() function
公式のjson_valid関数に関するドキュメント
https://www.sqlite.org/json1.html#jvalid