連載 [第6回] :
  PerlでWeb APIを使いたおす

JSONとYAML

2006年10月16日(月)
水野 貴明

XML以外のフォーマットを利用するケース


   ここまで紹介してきたAPIは全てXMLを利用してデータのやり取りを行ってきました。レスポンスデータとしてXML以外の形式を利用するAPIも多く存在します。よく利用されるデータ形式はJSONやYAMLなどです。

   JSONはJavaScript Object Notationの略で、JavaScriptの書式を利用したデータの表現方法です。同じ情報をXMLよりも少ないデータ量で表現できるほか、JavaScriptではパーサーを通さなくてもeval(Perlのevalと同じ機能を持つ)を利用して値を取り出せるという特徴があります。AjaxなどのJavaScriptを利用したデータのやり取りに使うAPIとしてよく利用されています。

   JSONを利用してデータを取得するAPIのサンプルとして、今回使うのはGeonames(注4)(図2、図3)が提供する地名から緯度経度を取得するサービスで、以下のようなURLでアクセス可能です。

Geonamesで地名を検索
図2:Geonamesで地名を検索
(画像をクリックすると別ウィンドウに拡大図を表示します)

Google Earthをまじえて情報を表示
図3:Google Earthをまじえて情報を表示
(画像をクリックすると別ウィンドウに拡大図を表示します)


   すると、リスト24のようなJSONデータが返ってきます。

リスト24:GeonamesのJSONデータ
GeonamesのJSONデータ
(画像をクリックすると別ウィンドウに拡大図を表示します)

   maxRowsで3を指定しているので、「tokyo」が含まれる3つのデータが返ります。JSONの詳しいデータ形式については以下のサイトを参照してください。


1973年東京生まれ。エンジニア兼技術系ライター。株式会社はてな勤務。近著に「俺流Amazonの作り方」(アスキー)、「詳解RSS〜RSSを利用したサービスの理論と実践」(ディー・アート)など。趣味はラテン音楽と海外旅行と神輿。現在、家を荒らしまわるネズミの被害に頭を悩ませている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています