Hiểu nhanh và thực hành API đơn giản

Tài liệu tham khảo:

  1. https://techtalk.vn/tat-tan-tat-ve-api.html
  2. https://vi.wikipedia.org/wiki/Giao_di%E1%BB%87n_l%E1%BA%ADp_tr%C3%ACnh_%E1%BB%A9ng_d%E1%BB%A5ng
API

Ở ví dụ này mình sẽ làm bằng JSON cho đơn giản, vì kiểu JSON dễ sử dụng hơn XML rất nhiều.
Ví dụ: Trang OpenWeatherMap có hỗ trợ xuất API cho các nhà phát triển để lấy thông tin thời tiết.


JSON thời tiết của OpenWeatherMap

Dùng http://jsoneditoronline.org/ để phân tích JSON

Kết quả jsoneditoronline
Chúng ta có 1 đối tượng JSON.  Trong đối tượng này gồm các đối tượng nhỏ là:

  • coord
  • weather
  • main
  • wind
  • clouds
  • sys
Bên trong những đối tượng con này các có các thuộc tính nhỏ nữa. Trong Javascript thì đọc JSON rất dễ dàng. Ta dùng hàm JSON.parse để chuyển kiểu String thành JSON Object.
Trong Java thì ta dùng JSONObject để parse.

Các bạn nhìn thấy trong hình ở đối tượng coord có 2 thuộc tính là lat và long.
Giờ mình sẽ đọc 2 thuộc tính này bằng Javascript. Nhưng ví dụ là NodeJS vì câu lệnh NodeJS là Javascript.

Kết quả nhận được sau khi Get dữ liệu từ OpenWeatherMap và dùng JSON.parse
Code



Kết quả sau khi parse
Dùng thư viện request để lấy dữ liệu từ trang OpenWeatherMap về. Nó là kiểu String. Kết quả trả về là biến body. (Chỉ cần biết biến body là biến String chứa dữ liệu dạng JSON)

Ta dùng hàm JSON.parse(dữ liệu muốn parse) và gán nó vào 1 biến (ví dụ là biến json).
Rồi từ biến json, ta có thể truy xuất vào bất kỳ thuộc tính vào bên trong đó.

json.coord.lat : lấy giá trị của lat trong coord thuộc đối tượng JSON
json.coord.long : hiểu tương tự
json.name : London
json.sys.sunrise : 1485762037
json.sys.sunset :1485794875

Với Javascript thì việc parse JSON là vô cùng dễ.
Còn với Android ?
Android hay Java nói chung. Ta dùng JSONObject.

Code Java

Kết quả
Dùng JSONObject buộc ta phải try/catch khối Code lại để tránh bị force close ứng dụng.

Nhận xét