6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ProcessingでWebAPIを叩く

Last updated at Posted at 2017-07-22

追記(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を手軽に使えるので便利なのではないでしょうか。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?