PR
連載 [第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のWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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

JSONとYAML | Think IT(シンクイット)

Think IT(シンクイット)

サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。