Processing에서 역 스파아토 WebAPI를 사용해 보는 이야기.
10924 단어 WebAPIAdventCalendar역 스파아토processing
Processing은 비주얼 디자인에 주목을 둔 초학자용 프로그래밍 언어 + 개발 환경입니다만, Java의 클래스(Swing라든지!)를 호출할 수 있거나 WebAPI를 호출하는 기능도 준비되어 있습니다.
그래서 이번에는 Processing에서 역 스파아와 WebAPI를 호출하는 샘플을 작성해 보았습니다.
간단한 API를 호출해 보세요.
먼저 Processing(Wikipedia) 에 있던
/dataversion
를 호출해 보겠습니다.HTTP 요청의 송출·응답의 취득은
processing.data.loadJSONObject()
로 할 수 있습니다. 취득한 JSON 오브젝트의 요소를 getJSONObject()
로 추적해, 값을 getString()
로 취득한다고 하는 흐름이 됩니다.void setup() {
size(200, 200);
}
void draw() {
background(255);
fill(0);
String api_url = "http://api.ekispert.jp/v1/json/dataversion?key=<アクセスキーを入力>";
JSONObject res = loadJSONObject(api_url);
String api_version = res.getJSONObject("ResultSet").getString("apiVersion");
String engine_version = res.getJSONObject("ResultSet").getString("engineVersion");
text("API Version : " + api_version, 10, 50);
text("Engine Version: " + engine_version, 10, 60);
}
실행 결과는 다음과 같습니다.
첫날 기사
경로 검색 결과를 얻으십시오.
좀 더 실용적인 사용법을 해보고 싶기 때문에 과 같은 느낌으로
/search/course/plain
에 의한 4일째 기사 을 Processing 에서 호출해 보겠습니다.소스 코드는 다음과 같습니다. JavaScript라고
JSON.parse()
로 취득한 오브젝트로부터 요소명으로 추적하는 것만으로 좋았습니다만, Processing의 경우는 조금 귀찮은 느낌이군요....단일의 요소의 경우와 배열로 돌아오는 요소의 취득을..
void setup() {
size(200, 200);
}
void draw() {
background(255);
fill(0);
String api_url = "http://api.ekispert.jp/v1/json/search/course/plain?key=<アクセスキーを入力>&from=22828&to=22671";
JSONObject res = loadJSONObject(api_url);
JSONObject course = res.getJSONObject("ResultSet").getJSONArray("Course").getJSONObject(0);
JSONArray point = course.getJSONObject("Route").getJSONArray("Point");
String from = point.getJSONObject(0).getJSONObject("Station").getString("Name");
String to = point.getJSONObject(1).getJSONObject("Station").getString("Name");
String line = course.getJSONObject("Route").getJSONArray("Line").getJSONObject(0).getString("Name");
String price = course.getJSONArray("Price").getJSONObject(0).getString("Oneway");
int y = 30;
text("□ " + from, 10, y); y += 15;
text("│ " + line, 10, y); y += 15;
text("│ " + price + "円", 10, y); y += 15;
text("□ " + to, 10, y);
}
실행 결과는 다음과 같습니다. 무사히 검색 결과를 얻을 수 있습니다.
평균 대기 시간 탐색
요약
Processing에서 역 스파아토 WebAPI를 이용하는 샘플을 소개해 보았습니다. WebAPI의 형태로 기능을 제공하고 있기 때문에 다양한 툴과의 제휴가 비교적 용이합니다(의외와 JSON의 퍼스 방법이 다른 느낌이지만...).
그 밖에도 WebAPI를 이용할 수 있는 환경·툴이 있으면 시험해 보고 싶습니다.
결론
올해부터 시작해 보았다 입니다만, 무사히 완주할 수 있었습니다.
이것도 기사를 투고해 주셨습니다 발 연구소 Advent Calendar 2016 씨, h마루야마 씨, valitoh 씨, t_류스케 . 정말 고마워요.
내년도 Advent Calendar를 개최할 수 있으면 좋겠다고 생각하므로, 아무쪼록 잘 부탁드리겠습니다.
Reference
이 문제에 관하여(Processing에서 역 스파아토 WebAPI를 사용해 보는 이야기.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/valsitoh/items/4531016254e839ac8553텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)