jq:jsonを整形する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Linuxコマンド]]
*使い方 [#c0827644]
** 整形 [#jfe85be0]
$ cat /tmp/test.json | jq
{
"_scroll_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
"took": 1,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 12345,
"max_score": 1,
"hits": [
{
"_index": "hoge-2018.07.18",
"_type": "fuga",
"_id": "nankanoid",
"_score": 1,
"_source": {
"remote": "192.168.1.1",
"menu_id": 1,
"order_history_id": 2,
"ordered_zone_id": 3,
"zone_id": 4,
"creative_id": 5,
"action": "impression",
"timestamp": "2018-07-18 09",
"uuid": "XXXXX-XXXX-XXXX-XXXX-XXXXX",
"created_at": "2018-07-18 09:00:01",
"lait_uuid": "XXXX-XXXX-XXXX-XXXX-XXXX",
"device": "pc",
"browser": "Internet Explorer",
"os": "Windows"
}
}
]
}
}
*** 整形しない [#o349bfa9]
$ cat /tmp/test.json | jq -c
{"_scroll_id":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
*** {} の段落ごとに取得する [#c1935707]
例1
$ cat /tmp/test.json | jq ._shards
{
"total": 1,
"successful": 1,
"failed": 0
}
例2
$ cat /tmp/test.json | jq .hits.hits
[
{
"_index": "hoge-2018.07.18",
"_type": "fuga",
"_id": "nankanoid",
"_score": 1,
"_source": {
"remote": "192.168.1.1",
"menu_id": 1,
"order_history_id": 2,
"ordered_zone_id": 3,
"zone_id": 4,
"creative_id": 5,
"action": "impression",
"timestamp": "2018-07-18 09",
"uuid": "XXXXX-XXXX-XXXX-XXXX-XXXXX",
"created_at": "2018-07-18 09:00:01",
"lait_uuid": "XXXX-XXXX-XXXX-XXXX-XXXX",
"device": "pc",
"browser": "Internet Explorer",
"os": "Windows"
}
}
]
*** [] を除外する [#g1cda654]
$ cat /tmp/test.json | jq .hits.hits[]
{
"_index": "hoge-2018.07.18",
"_type": "fuga",
"_id": "nankanoid",
"_score": 1,
"_source": {
"remote": "192.168.1.1",
"menu_id": 1,
"order_history_id": 2,
"ordered_zone_id": 3,
"zone_id": 4,
"creative_id": 5,
"action": "impression",
"timestamp": "2018-07-18 09",
"uuid": "XXXXX-XXXX-XXXX-XXXX-XXXXX",
"created_at": "2018-07-18 09:00:01",
"lait_uuid": "XXXX-XXXX-XXXX-XXXX-XXXX",
"device": "pc",
"browser": "Internet Explorer",
"os": "Windows"
}
}
*** 複数の要素を表示する(map) [#u776e93f]
curl https://XXXXXX/api | jq '.items[] | { content: .co...
{
"content": "HOGEHOGE",
"date": "Mon 23 Jul 2018 01:24:00 +0000"
}
{
"content": "FUGAFUGA",
"date": "Mon 23 Jul 2018 01:24:08 +0000"
}
*** ダブルクォートを除外する [#c1f76316]
-rオプションでダブルクォートが消える
*** zshで [] を使うとエラーになる [#yc463665]
zsh: no matches found: .items[]
(23) Failed writing body
エスケープしてあげればいける
jq -r .items\[\]
終了行:
[[Linuxコマンド]]
*使い方 [#c0827644]
** 整形 [#jfe85be0]
$ cat /tmp/test.json | jq
{
"_scroll_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
"took": 1,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 12345,
"max_score": 1,
"hits": [
{
"_index": "hoge-2018.07.18",
"_type": "fuga",
"_id": "nankanoid",
"_score": 1,
"_source": {
"remote": "192.168.1.1",
"menu_id": 1,
"order_history_id": 2,
"ordered_zone_id": 3,
"zone_id": 4,
"creative_id": 5,
"action": "impression",
"timestamp": "2018-07-18 09",
"uuid": "XXXXX-XXXX-XXXX-XXXX-XXXXX",
"created_at": "2018-07-18 09:00:01",
"lait_uuid": "XXXX-XXXX-XXXX-XXXX-XXXX",
"device": "pc",
"browser": "Internet Explorer",
"os": "Windows"
}
}
]
}
}
*** 整形しない [#o349bfa9]
$ cat /tmp/test.json | jq -c
{"_scroll_id":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
*** {} の段落ごとに取得する [#c1935707]
例1
$ cat /tmp/test.json | jq ._shards
{
"total": 1,
"successful": 1,
"failed": 0
}
例2
$ cat /tmp/test.json | jq .hits.hits
[
{
"_index": "hoge-2018.07.18",
"_type": "fuga",
"_id": "nankanoid",
"_score": 1,
"_source": {
"remote": "192.168.1.1",
"menu_id": 1,
"order_history_id": 2,
"ordered_zone_id": 3,
"zone_id": 4,
"creative_id": 5,
"action": "impression",
"timestamp": "2018-07-18 09",
"uuid": "XXXXX-XXXX-XXXX-XXXX-XXXXX",
"created_at": "2018-07-18 09:00:01",
"lait_uuid": "XXXX-XXXX-XXXX-XXXX-XXXX",
"device": "pc",
"browser": "Internet Explorer",
"os": "Windows"
}
}
]
*** [] を除外する [#g1cda654]
$ cat /tmp/test.json | jq .hits.hits[]
{
"_index": "hoge-2018.07.18",
"_type": "fuga",
"_id": "nankanoid",
"_score": 1,
"_source": {
"remote": "192.168.1.1",
"menu_id": 1,
"order_history_id": 2,
"ordered_zone_id": 3,
"zone_id": 4,
"creative_id": 5,
"action": "impression",
"timestamp": "2018-07-18 09",
"uuid": "XXXXX-XXXX-XXXX-XXXX-XXXXX",
"created_at": "2018-07-18 09:00:01",
"lait_uuid": "XXXX-XXXX-XXXX-XXXX-XXXX",
"device": "pc",
"browser": "Internet Explorer",
"os": "Windows"
}
}
*** 複数の要素を表示する(map) [#u776e93f]
curl https://XXXXXX/api | jq '.items[] | { content: .co...
{
"content": "HOGEHOGE",
"date": "Mon 23 Jul 2018 01:24:00 +0000"
}
{
"content": "FUGAFUGA",
"date": "Mon 23 Jul 2018 01:24:08 +0000"
}
*** ダブルクォートを除外する [#c1f76316]
-rオプションでダブルクォートが消える
*** zshで [] を使うとエラーになる [#yc463665]
zsh: no matches found: .items[]
(23) Failed writing body
エスケープしてあげればいける
jq -r .items\[\]
ページ名: