【Java script問題集】1-2 jQueryライブラリを読み込もう

1-2.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>1-2</title>
</head>
<body>
<h1>jQueryライブラリーの読み込みテスト</h1>
<!-- jQueryライブラリの読み込み-->
<script>
alert($("h1").text());
</script>
</body>
</html>

 実行結果

f:id:mkyosuke:20200629120724p:plain



 

今週学んだ事(コマンド等)

joinコマンド

join ファイル名1 ファイル名2

両方にある行番号1と3のみの結果を表示

f:id:mkyosuke:20200313181816p:plain

詳細

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533621524

 

jotコマンド

連番・ランダムデータを生成コマンド

jot 回数 開始 終了

f:id:mkyosuke:20200311173404p:plain

詳細

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533544538

 

リダイレクション

標準の入出力先を別の入出力先に変更すること

cmd 1> file

f:id:mkyosuke:20200313183544p:plain

 

cutコマンド

1、3文字目を切り出す。

f:id:mkyosuke:20200313184219p:plain

詳細

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533498060

 

grepコマンド

特定の文字列を含む行のみを表示する

f:id:mkyosuke:20200311111831p:plain

詳細

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533498060

 

trコマンド

小文字から大文字へ変換(逆もできる)

f:id:mkyosuke:20200311133652p:plain

 

awkコマンド

空白などで区切られたテキストを処理するコマンド

awk '{ print $フィールド番号 }'

f:id:mkyosuke:20200311134124p:plain

 詳細

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533498060

 

sed コマンド

文字列を全置換したり、行単位で抽出したり、削除したり、いろいろなテキスト処理のできるコマンド。

sed -e 's/パターン1/パターン2/'

 f:id:mkyosuke:20200310163539p:plain

詳細

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613532938909

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613533000593

 

curlコマンド

HTTPアクセスをしてコンテンツを取得できるコマンド

curl URL

詳細

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613534159164

 

jqコマンド

JSON用コマンドでデータのフィルタや置き換え、整形ができる

詳細

https://blog.hatena.ne.jp/mkyosuke/mkyosuke.hatenablog.com/edit?entry=26006613534159164

今週学んだ事(APIからCSV)

APIからCSV

curlコマンドAPIを叩く

curl [URL]なので例として➀を実行

curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060"

f:id:mkyosuke:20200313174550p:plain

jqコマンド

JSON用コマンドでデータのフィルタや置き換え、整形ができる

resultsのみを取得してみる

jq .resultsで指定

先程のcurlコマンドとjqコマンドをパイプで繋げて➁を実行

curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060" | jq .results

f:id:mkyosuke:20200313175232p:plain

さらにその結果jqコマンドでcsv形式にする

jq -r '<CSV 形式で出力したい要素を取り出すフィルター> | @csv'

jq -r '. | [.address1, .address2, .address3, .kana1, .kana2, .kana3, .prefcode, .zipcode] | @csv'

先程の➁とつなげると➂になり、実行

curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060" | jq .results | jq -r '. | [.address1, .address2, .address3, .kana1, .kana2, .kana3, .prefcode, .zipcode] | @csv'

f:id:mkyosuke:20200313180447p:plain

➂を実行すると、csv形式になりました。

最後、その結果をファイルにリダイレクション➃を実行

curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060" | jq .results | jq -r '.[] | [.address1, .address2, .address3, .kana1, .kana2, .kana3, .prefcode, .zipcode] | @csv' >>test1.csv

f:id:mkyosuke:20200313180752p:plain

➄cat コマンドで確認

f:id:mkyosuke:20200313180921p:plain



 

 

 

 

jq コマンドで JSON を CSV に変換

jq コマンドで JSONCSV に変換する

jq -r '<CSV 形式で出力したい要素を取り出すフィルター> | @csv'

テストデータの確認

f:id:mkyosuke:20200313110846p:plain

jq -r '<CSV 形式で出力したい要素を取り出すフィルター> | @csv' 実行

f:id:mkyosuke:20200313111419p:plain

 

 

|@csv を有効に使うための条件

JSON(配列)の並びにする

JSON(配列)の並びの、各配列の要素数は同じにする

JSON(配列)の並びの、各配列の要素は配列とオブジェクト以外にする

 

テストデータ

f:id:mkyosuke:20200313112739p:plain

'.' で入力されたJSONを整形して出力

f:id:mkyosuke:20200313112936p:plain

 

JSONの最上位が配列の場合、 .[] で配列の要素のみを取り出すことが出来る

f:id:mkyosuke:20200313114731p:plain

id の値を取り出し

f:id:mkyosuke:20200313115000p:plain

複数の値の取り出し

f:id:mkyosuke:20200313115352p:plain

共通部分のくくりだし

f:id:mkyosuke:20200313132510p:plain

.id と .create_at を [ と ] で囲む事により、 .id を0番目、 .create_at を1番目の要素に持つ配列にする

f:id:mkyosuke:20200313132821p:plain

配列から特定の値を取り出す

f:id:mkyosuke:20200313133052p:plain

1列目: id
2列目:ミドルネーム
3列目:作成日
となる CSVを出力

f:id:mkyosuke:20200313133914p:plain

参考

https://medium.com/veltra-engineering/jq-supports-json-to-csv-fb5c951a9575

curlコマンド、jqコマンド

curlコマンド

HTTPアクセスをしてコンテンツを取得できるコマンド

下記の書式でコマンドが実行

curl [options] [URL]

f:id:mkyosuke:20200312174053p:plain

 

オプション「-i」 HTTP ヘッダを出力に含めます。
オプション「-I」 HTTP ヘッダのみを取得します。

f:id:mkyosuke:20200312174505p:plain

f:id:mkyosuke:20200312174601p:plain

POSTでリクエストを行う場合には-X POST

 

jqコマンド

JSON用コマンドでデータのフィルタや置き換え、整形ができる

echoでjsonを出力後jqコマンドを実行

f:id:mkyosuke:20200312180040p:plain

特定のkerを絞る

jqコマンドの後にresultを指定

f:id:mkyosuke:20200312180542p:plain

valueを取得

f:id:mkyosuke:20200312185245p:plain

参考

https://qiita.com/bunty/items/758425773b2239feb9a7

https://qiita.com/bunty/items/a769ebabbdd324ff0d6f