概要
json_object
関数を使用すると引数を連結してJSON形式のデータを作ることができる。
JSONオブジェクトと言うより連想配列と言った方がいいような気もする。
構文
json_object
の引数に連想配列の
キーと値を交互に渡す必要がある。
json_object(key, value, key, value...)
環境
- Windows 10 64bit
- SQLite3 (3.40.1) Command-Line Shell
実行例
sqlite> -- # 1.
sqlite> select json_object('a',1,'b',2);
{"a":1,"b":2}
sqlite> -- # 2.
sqlite> select json_object('a',1,'b','{e:5}');
{"a":1,"b":"{e:5}"}
sqlite> -- # 3.
sqlite> select json_object('a',1,'b',json('[1,2,3]'));
{"a":1,"b":[1,2,3]}
sqlite> -- # 4.
sqlite> select json_object('a',1,json('[1,2,3]'),2);
{"a":1,"[1,2,3]":2}
sqlite> -- # 5.
sqlite> select json_object('a',1,'b',json_object('c',2,'d',4));
{"a":1,"b":{"c":2,"d":4}}
- キーと値を順番に指定して連想配列を作る
- 値に文字列としてJSONオブジェクトを渡しても文字列として認識されるだけ
- JSON関数等で変換すればJSONオブジェクトとして正しく認識される
- JSONオブジェクトをキーに渡すと文字列として認識される
- json_object()の返り値もJSONオブジェクトとして認識される
参考URL
-
Command Line Shell For SQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html
-
SQLite3 文字列をJSONオブジェクトに変換する(JSON())
https://sfnovicenotes.blogspot.com/2023/02/sqlite3-jsonjson.html