image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« ピックアップ:ミクシィ神話の終焉, 押井 守 インタビュー, etc... | トップページ | yaml , json, xml の相互変換のまとめは何処かにないか »

2007-09-22

xfy で json も扱いたい

xml を返すような rest な web-service は沢山ある。
それを xfy/xvcd で扱うには、つぎのようにする。

   <xvcd:variable name="ws" select="サービスのURL"/>
   <xvcd:apply-templates select="function:document($ws)"/

返信される XML の構造に即した変換template を用意しておけば,それに従った変換が行える。

最近は、XML でなく JSON で結果を返すサービスが増えている。

そんな場合は、JSON->XML 変換があれば、xfy/xvcd でも そのサービスを利用できるようになる。
そんな用途のためのライブラリーがあるようだ。
https://sourceforge.net/project/showfiles.php?group_id=171425
> > Json-lib

> ...
> Json-lib is a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans and DynaBeans. It is based on the work by Douglas Crockford in http://www.json.org/java.
>...

でも ここでは、ruby で json を返す web-service の利用例を示そう。
ruby では json ライブラリーで json データを扱える。(gem で install できる)

$ cat zip.rb
# See http://groovetechnology.co.jp/webservice/zipsearch/index.html

$KCODE="u"
require 'rubygems'
require 'json'
require 'net/http'
require 'pp'

def zip_code(code)
   url = "http://groovetechnology.co.jp/ZipSearchService/v1/zipsearch?zipcode=#{code}"
   resp = Net::HTTP.get_response(URI.parse(url))
   data = resp.body

   # we convert the returned JSON data to native Ruby
   # data structure - a hash
   result = JSON.parse(data)
   return result
end

pp zip_code(ARGV[0])

実行してみる。
$ ruby zip.rb 1000001 | nkf -s
{"zipcode"=>
  {"a1"=>
    {"city"=>"千代田区",
     "town_yomi"=>"チヨダ",
     "prefecture"=>"東京都",
     "zipcode"=>"1000001",
     "city_yomi"=>"チヨダク",
     "prefecture_yomi"=>"トウキョウト",
     "town"=>"千代田"}},
"office"=>{}}

他にも json を返すサービスにはこんなものもある。

http://www.mashupedia.jp/webapis/view/221
星座占い

http://www.itarchitect.jp/print/?menu3=13821
Yahoo 検索サービス

« ピックアップ:ミクシィ神話の終焉, 押井 守 インタビュー, etc... | トップページ | yaml , json, xml の相互変換のまとめは何処かにないか »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: xfy で json も扱いたい:

« ピックアップ:ミクシィ神話の終焉, 押井 守 インタビュー, etc... | トップページ | yaml , json, xml の相互変換のまとめは何処かにないか »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク