演習課題「JSONデータから、指定のデータを取り出す。」
curlコマンドで、「paijo いいね API」を呼び出してみましょう。以下のWebAPIにアクセスすると、「ぱいじょ」の特定のキャラクタのデータを取得できます。
```
https://paiza.jp/paijo_charactors
```
右のターミナルで、curlコマンドとjqコマンドを使って、このAPIにアクセスした結果から、インデックスが「1」のデータを取り出して、「charactors.txt」というファイルに保存してください。
コードの実行をして、エラーが出なければ、演習課題クリアです!
演習課題「JSONデータから、指定の値を取り出す。」
curlコマンドで、「paijo いいね API」を呼び出してみましょう。以下のWebAPIにアクセスすると、「ぱいじょ」のキャラクタのデータを取得できます。
```
https://paiza.jp/paijo_charactors
```
右のターミナルで、curlコマンドとjqコマンドを使って、このAPIにアクセスした結果から、以下のデータを取り出して「charactors.txt」というファイルに保存してください。
```
インデックスが「1」のデータから、nameの値を取り出す
```
コードの実行をして、エラーが出なければ、演習課題クリアです!
演習課題「JSONデータから、指定の値を取り出す - その2」
curlコマンドで、「paijo いいね API」を呼び出してみましょう。以下のWebAPIにアクセスすると、「ぱいじょ」のキャラクタのデータを取得できます。
```
https://paiza.jp/paijo_charactors
```
右のターミナルで、curlコマンドとjqコマンドを使って、このAPIにアクセスした結果から、以下のデータを取り出して「charactors.txt」というファイルに保存してください。
```
すべてのデータから、favorite_languageの値を取り出す
```
コードの実行をして、エラーが出なければ、演習課題クリアです!
#04:JSONを理解しよう
Web APIのデータ交換によく使われるJSONフォーマットについて学習します。JSONは、扱いやすくシンプルな記法で、プログラミング言語で簡単に利用したり、HTTPで送受信したりできます。
# 全部取得
curl https://paiza.jp/paijo_charactors
# 名前を指定して取得
curl https://paiza.jp/paijo_charactors?name=kirishima
# 存在しない名前の場合は、404
curl https://paiza.jp/paijo_charactors?name=kiri
curl -i https://paiza.jp/paijo_charactors?name=kiri
# いいね
curl -X POST -d name=rokumura https://paiza.jp/paijo_charactors/like
# いいね:存在しない名前の場合は、404
curl -X POST -d name=roku https://paiza.jp/paijo_charactors/like
curl -i -X POST -d name=roku https://paiza.jp/paijo_charactors/like
ゼロ番目の要素を出力する$ curl https://paiza.jp/paijo_charactors | jq .[0]
$ curl https://paiza.jp/paijo_charactors | jq .[1].name
$ curl https://paiza.jp/paijo_charactors | jq .[].name
$ curl https://paiza.jp/paijo_charactors | jq .[].name -r
### JSON
- JSON
https://www.json.org/json-ja.html
- JavaScript Object Notation - Wikipedia
https://ja.wikipedia.org/wiki/JavaScript_Object_Notation
- JSONの利用 | MDN
https://developer.mozilla.org/ja/docs/Learn/JavaScript/Objects/JSON
- JSON入門
http://www.tohoho-web.com/ex/json.html
### curlコマンド
- curl コマンド 使い方メモ - Qiita
https://qiita.com/yasuhiroki/items/a569d3371a66e365316f
- curlコマンドの使い方 ~GET、POST、REST(json)の確認と、windowsでの利用手順
https://viral-community.com/security/curl-8263/
- cURL - Wikipedia
https://ja.wikipedia.org/wiki/CURL
- cURL - Manual - Japanese Translation
http://zaurus.catstar.org/archive/curl_manual_ja.html
- curl
https://curl.haxx.se/
### jqコマンド
- jq コマンドを使う日常のご紹介 - Qiita
https://qiita.com/takeshinoda@github/items/2dec7a72930ec1f658af
- jq Manual (development version)
https://stedolan.github.io/jq/manual/