フィールドを指定してAPIから取得した都道府県JSONデータを、jqコマンドでラベルをつけてJSONデータとして再出力する方法
Nid: 709
curlを使用してDrupalサイトにログイン、Web APIからJSONデータを取得し、jqコマンドで取得フィールドにラベルをつけてJSON形式で出力。
$ curl -s -F 'name=apiuser' -F 'pass=api123' -F 'form_id=user_login' http://tables.octaviadata.com/user/login -c cookie.txt -b cookie.txt --next "http://tables.octaviadata.com/node.json?limit=5&type=jp_regions&field_jpregionstype=pref&sort=field_code&direction=DESC" | jq '.list[] | {nid: .nid, id: .field_code, title: .title, kana: .field_kana, url: .field_url[].url}' { "nid": "220174", "id": "47", "title": "沖縄県", "kana": "おきなわけん", "url": "http://www.pref.okinawa.lg.jp/" } { "nid": "220772", "id": "46", "title": "鹿児島県", "kana": "かごしまけん", "url": "http://www.pref.kagoshima.jp/" } { "nid": "220749", "id": "45", "title": "宮崎県", "kana": "みやざきけん", "url": "http://www.pref.miyazaki.lg.jp/" } { "nid": "220871", "id": "44", "title": "大分県", "kana": "おおいたけん", "url": "http://www.pref.oita.lg.jp/" } { "nid": "220805", "id": "43", "title": "熊本県", "kana": "くまもとけん", "url": "http://www.pref.kumamoto.jp/" }
参考: 取得データからフィールド選択し、CSVへ変換して出力。
$ curl -s -F 'name=apiuser' -F 'pass=api123' -F 'form_id=user_login' http://tables.octaviadata.com/user/login -c cookie.txt -b cookie.txt --next "http://tables.octaviadata.com/node.json?limit=5&type=jp_regions&field_jpregionstype=pref&sort=field_code&direction=DESC" | jq -r '.list[] | [.field_code, .title, .field_kana] | @csv' "47","沖縄県","おきなわけん" "46","鹿児島県","かごしまけん" "45","宮崎県","みやざきけん" "44","大分県","おおいたけん" "43","熊本県","くまもとけん"
関連記事
- 1 of 3
- next ›