追記(2024/06/24)
より詳細な内容をこちらに書き始めました。
本題
APIを叩こうとした時にJSONObjectで受け取る時のメモ
parseJSONObject()を使うだけなんだけど、
見つからずJavaのJSONパーサーライブラリを使おうとしてしまったので。
HTTP通信にはHTTP-Requests-for-Processingを使っています。
ついでにjson-serverというnodeパッケージがあったので、
サーバはこれを使います。
ディレクトリ構成はこんな感じで
├── CallWebApiSample.pde
└── data
└── db.json
db.jsonはこんな感じで
{
"users": [
{
"id": 0,
"name": "太郎",
"age": 30,
"job": "勇者"
},
{
"id": 1,
"name": "二郎",
"age": 30,
"job": "魔法使い"
}
]
}
CallWebApiSample.pdeはこんな感じ
import http.requests.*;
String URL = "http://localhost:3000/users/1";
void setup() {
GetRequest get = new GetRequest(URL);
get.send();
JSONObject result = parseJSONObject(get.getContent());
println(result);
}
void draw() {
}
次にjson-serverをインストールして実行
$ npm install -g json-server
$ cd path/to/sketch/data
$ json-server --watch db.json
最後にProcessingスケッチのRunボタンを押したら、
こんな感じに表示されるんじゃないでしょうか。
{
"name": "二郎",
"id": 1,
"job": "魔法使い",
"age": 30
}
ProcessingでWebAPIを使った可視化作品とかを開発していたら、
テストデータとしてローカルのJSONを手軽に使えるので便利なのではないでしょうか。