JSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScript December 21, 2005 Jason Levitt Making requests to third-party web services from an AJAX application is a pain, but new web services that offer the option of returning JSON (JavaScript Object Notation) instead of XML can provide significant relief. In fact, if you make web services requests using the dynamic script tag appr
最近 JSONP というのが話題になっているようですので, ここで簡単に紹介します。 JSONP (JSON with Padding)というのは JSON のデータフォーマットにちょっとした記述を加えて JavaScript の関数として呼び出せるようにしたものです。 JSONP については以下の記事に簡単な説明があります。(多分この記事が初出だろうという話です) Remote JSON - JSONP 例えば以下のような JSON データがあるとします。 { "name" : "Yasuhiro ARAKAWA" } JSONP ではこのデータに記述を加えて JavaScript 関数のようにしたものです。 分かりにくいですね。 具体的にはこのように記述します。 callback( { "name" : "Yasuhiro ARAKAWA" } ); "callback" の部分は関数
MECAPI で JSONP 出力対応 2006-09-23-1 [MECAPI][NLP] Web 経由で MeCab を使うための API である MECAPI (http://mimitako.net/api/mecapi.cgi)で、JSONP出力対応しました。 callback というパラメタでコールバック関数を指定する仕様。 これによってドメインが違ってもクライアント側 JavaScript から MECAPI (JSON) を呼び出して使えます。 サンプルを下記に置いておきます。 昨日のやつ[2006-09-22-4]をちょこっと改造しただけです。 - MECAPIのJSON出力で形態素解析 http://chalow.net/misc/mecapi.html 参考: - [鏡] 入門 JSON 3 -- JSONP とコールバック関数 -- 戯れ言++
id:secondlife さんの AsyncJSONP (参照: MochiKit で JSONP の利用) を使って、MochiKit の勉強がてら作ってみました。 livedoor clip の JSONP API を利用してタグ・クラウドを生成する、というものです。最近どんなキーワードの話題が注目されているかが分かると思います: MochiKit を使ったのは実は今回が始めてなんですが、(昨今の脳トレブームにも通ずるような) 頭脳を刺激されるような感じがして、とても楽しいです。 OO 言語等との語順の違いとか、高階関数の利用が必然的に求められる点など、個人的に普段使わない頭の使い方をさせられるためなんでしょうね。 とりわけイテレータ関数の利用において、できるだけ中間の変数を作らず関数の組み合わせだけで処理する、というあたりが頭の使いどころになってくるようです。 例: // ふつうの
動的にscript要素を追加してやることによってクロス・ドメインのJavaScriptファイルを読み込むというテクニック。Firefoxの場合は動的に追加するscript要素のonload属性で読み込んだJavaScriptファイルを処理するfunctionを指定してやれば問題ない。しかし、これをクロス・ブラウザで実現するには違ったアプローチが必要になる。そのひとつがJSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScriptで取り上げられているJSONScriptRequest。XmlHttpRequestと比較するとかなり機能が限定されたものだけど、扱いが手軽で限定された環境ではなかなか威力を発揮するっぽい。 JSONScriptRequestはどうやらJSONPと呼ばれている、JSONデータをc
2006年08月27日 JSONでなくてJSONP[JSON with Padding](クロスドメイン解決) JSON(JavaScript Object Notation)ってのは、Javascipt扱う人ならば大体知っていると思う。 簡単に言えば、JavaScript のデータ互換フォーマットの事。{ "hoge": 1, "fuga": ["a", "b", "c"] }みたいなフォーマット。 参考) Collection & Copy - [翻訳]JSON入門 JavaScript++かも日記 - JSON/簡単なテスト:基本 これは確かに、同一ドメインでクライアントに渡すデータとしては有効で、レスポンスをそのまま eval して使えるので便利なのだ。(prototype.js では Ajax.Request.prototype.evalJSON() を利用すれば JavaScr
実は、Ajaxのウラにこそ勝算がある:Web 2.0で変わるWebプログラミングの常識(1/5 ページ) 見た目にインパクトが大きいAjax利用のWebアプリケーション。しかし、その見た目を支える要となるものは、背後にある有益な情報処理と活用方法だ。Ajaxのインパクトに負けないWebアプリはどのように作られるのか? このオンライン・ムックPlus「Web 2.0で変わるWebプログラミングの常識」では、これまでにAjaxの概要(第1回)から発展系としてどのような取り組みあるのか(第2回)、そして、効率的な組み込み方法の一つとしてJSONと呼ばれるデータ形式のやり取り(第3回)について解説した。 この一連の特集を読むことで、プログラミングノウハウを一から十まですべてを学べるほどのボリュームは詰め込めないが、それでも最低限押さえておくべきポイントが理解できるはずだ。今回の記事でテーマとなるの
最近日本でも JSONP が広く知られるようになってきました。JSONPについて詳しくはhail2u.net - JSONP や snippets from shinichitomita’s journal - JSONPについてをどうぞ。 で、JSONP を簡単にライブラリから扱うには、dojo ならScriptSrcIO、prototype.js なら dojoの ScriptSrcIO ライクに拡張した Dojo penetrates Prototype Dude, WTF?! などがあります。 しかしながら、我らが MochiKit は開発者の Bob さんが JSONP を提唱したにもかかわらず、JSONP を扱う Async の関数が見あたらない*1ので作ってみました。デモでは delicious の json api をコールバック関数付きで呼び出し(JSONP)て、リストを
AmazonのJSON呼び出しだけど、どうやら本家(?いや最速の方か)でJSONPに対応したらしい。これで一応IEやSafariでもつかえる。 http://labs.hail2u.net/amazon/ 日本語のリソースが少ないためか、JSONPについて説明していた。 http://hail2u.net/blog/coding/jsonscriptrequest.html ちなみにJSONPとはJSON with paddingの略。 実は、いろいろ試してみてたのだけど、JSONPってかなりサポート範囲が大きい。手元の環境では、IEやFirefoxはもちろん、Safari 2.0(1.3も)、auのケータイフルブラウザ(Opera)でも動いてたりする。もしかしたらDSブラウザでも動くんじゃないか?持ってないので試してないけど*1。参照系のコールだけならXMLHttpRequestをあえて
前回のエントリで触れたJSONP。初出はRemote JSON - JSONPというMochiKitの中の人によるエントリ(多分。一言で言うなら「JSONデータを括弧でくくった上でこっちが指定した文字列を頭につけて返してね?」というもの。文章で説明するとわけわからん。 つまり、 http://example.com/data.json?jsonp=beverly_hills とリクエストしたら、 beverly_hills({ foo: 'This is foo.', bar: 'This is bar.', foobar: 'This is foobar.' }); と返す。また、 http://example.com/data.json?jsonp=beverly_hills%5B90210%5D とリクエストしたら、 beverly_hills[90210]({ foo: 'This
ブラウザから動的スクリプトタグで呼び出せるJSONサービスの一覧。サービス利用にはHTMLとJavaScriptさえあればよいもののみ挙げている。JSONPであるとは限らない。オフィシャル/非オフィシャル問わず。知らないのがあったら誰か教えてください。 (追記)JSONP形式のサービスにはJSONPテストページへのリンクを追加しました del.icio.us ポスト一覧取得 http://del.icio.us/feeds/json/stomita (既定変数埋め込み) http://del.icio.us/feeds/json/stomita?callback=handlePosts (JSONP) →テスト タグ一覧取得 http://del.icio.us/feeds/json/tags/stomita (既定変数埋め込み) http://del.icio.us/feeds/json
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く