概要
json_extract()
関数でJSON配列の要素を取得することが出来る。
->
や->>
と異なり
一回で複数のJSON Pathを指定することで、それぞれの結果をまとめて取得することができる。
構文
json_extract(json_string, json_path1, json_path2 ...)
引数が1つ(JSON Pathが指定されなかった)場合 | nullが取得される |
---|---|
引数が2つ(JSON Pathが1つだけ指定された)場合 | JSON Pathで指定された箇所のJSONオブジェクトを取得する |
引数が3つ以上(JSON Pathが2つ以上指定された)場合 | 各JSON Pathで指定された箇所のJSONオブジェクトが格納された配列を取得する |
実行例
環境
- Windows 10 64bit
- SQLite3 (3.41.2) Command-Line Shell
引数が1つ(JSON Pathが指定されなかった)場合
sqlite> .nullvalue [null]
sqlite> select json_extract('[1,2,3,[4,5]]');
[null]
引数が2つ(JSON Pathが1つだけ指定された)場合
sqlite> select json_extract('[1,2,3,[4,5]]', '$[2]');
3
引数が3つ以上(JSON Pathが2つ以上指定された)場合
sqlite> select json_extract('[1,2,3,[4,5]]', '$[2]', '$[3]');
[3,[4,5]]
sqlite> select json_extract('{
' ...> "id":"001"
' ...> , "name": "taro"
' ...> , "email":[
' ...> "main@example.com"
' ...> , "sub@example.com"
' ...> ]
' ...> }'
(x1...> , '$.id', '$.name', '$.email[0]'
(x1...> );
["001","taro","main@example.com"]
参考URL
-
Command Line Shell For SQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html -
The The json_extract() function
公式のjson_extract()に関するドキュメント
https://www.sqlite.org/json1.html#the_json_extract_function