dojoオブジェクトの基本(後編)
沖林正紀
2008/01/18 15:11
今回はJSONとAjaxに関わるdojoオブジェクトを紹介しよう。
前2回でdojoオブジェクトのさまざまなメソッドを紹介してきた。今回はその最後として、JSONとAjaxに関するものを紹介したい。
fromJson
fromJson:JSON形式の文字列からオブジェクトを生成。生成できないときは文字列をそのまま返す。
var obj = dojo.fromJson( '{ building : { area : "東京都港区", name : '
+ '["六本木ヒルズ", "東京ミッドタウン"] } }' );
document.write( obj.building.area ); // "東京都港区"
document.write( obj.building.name[0] ); // "六本木ヒルズ"
toJson
toJson:オブジェクトをJSON形式の文字列に変換する。
var json = dojo.toJson( obj, true );
// trueは文字列をタブ(¥t)でインデントすることを表す(省略可能)
インデントの例
{
"building": {
"area": "東京都港区",
"name": [
"六本木ヒルズ",
"東京ミッドタウン"
]
}
}
formToJson
formToJson:フォーム(<form>)で入力・選択された内容をJSON形式の文字列に生成。複数選択が可能な項目は、選択された要素の配列が値となる。ボタン(画像含む)、アップロードするファイルの名称、使用不可(disable)の要素は含まない。
下記は<form id="search">のフォームから入力された内容をJSON形式の文字列に生成する例。
var json = dojo.formToJson( 'search', true ); // trueは文字列をタブ(¥t)でインデントすることを表す(省略可能)
図1 フォームに入力した内容
リスト1 図1のフォーム(HTML抜粋)
<form id="search" action="javascript:void(0);"><fieldset>
<legend>検索フォーム</legend>
キーワード<input type="text" name="keyword" size="50" /><br />
すべて<input type="radio" name="allwords" value="true" checked="checked" />
いずれか<input type="radio" name="allwords" value="false" /><br />
表示項目
タイトル<input type="checkbox" name="items" value="title" checked="checked" />
説明<input type="checkbox" name="items" value="desc" /><br />
件数<select name="results">
<option value="10" selected="selected">10件</option>
<option value="10">20件</option>
</select>
内容<select name="content" size="2" multiple="multiple">
<option value="summary" selected="selected">概要</option>
<option value="detail">詳細</option>
</select><br />
<input type="submit" value="検索する" />
<input type="reset" value="クリア" />
</fieldset></form>
変数jsonに代入される文字列(インデント後)
{
"keyword": "JavaScriptライブラリ dojo",
"allwords": "true",
"items": [
"title",
"desc"
],
"results": "20",
"content": [
"summary",
"detail"
]
}
- 2人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- 特集: dojoの広大な門をたたく (8件)
米フォレスター・リサーチ社 シニアアナリスト Jeremiah K.Owyang氏を迎え、同氏が提唱するソーシャルテクノロジーを効果的に活用方法するための方法『POST』を日本で初めて紹介する注目のリアルイベント
- 今日のトップ記事
- 3日前
- 4日前
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
-
【導入事例】アポプラスステーション株式会社様:パソコンや携帯電話にメール情報を残さない利便性と安全性を兼ね備えたWebメールに統一
-
FatWire CMSは柔軟なドキュメント管理も可能なCMSです。
-
【製品情報】Network Storage Server:MelodiousStor
ハードウェアに悩まされない「仮想プラットフォーム」・ハードウェア資産の削減・無停止システムの実現
-
【導入事例】株式会社産経デジタル様 SOAを活用してデジタルメディア基幹システムを半年でリニューアル。業界初の新聞とインターネットを融合した「新聞2.0」を開発
-
「同じ過ちは二度と繰り返すな!」
バッチシステム構築の危機を打開する唯一の方法とは
- 話題のタグ
Windows
携帯電話機
プログラミング言語
UI
Firefox
CSS
入門
Adobe
PHP
SOA
Off Topic
仮想化
仮想化ソフトウェア
iPhone 3G
ブラウザ
Google
Apple
デザイン
Flash
ユーザーインタフェース
Firefox 3
Ajax
Tips
モバイル
Java
Safari
Internet Explorer
Mac OS X
Webデザイン
iPod touch
データベース
JavaScript
ソフトウェア開発
オープンソース
リファレンス
Database
Webサービス
脆弱性
開発環境
レビュー
Mozilla
小技
プロジェクト管理
RIA
Webアプリケーション開発
server
Linux
HTML
Python
iPhone
話題のタグを見る »
ソーシャルテクノロジーをビジネスに利用する
iPhoneでQRコードの読み取りを試す、しかし
Oracle VM Managerで仮想マシンを動かす
グルジアに渡ったカメラマンの全記録--大国に翻弄される人々の息遣い
iPod touchで音声通話が可能に--Fringを早速試す
Mozilla Labs、Firefoxで地理情報を認識活用できるプラグイン「Geode」を正式発表
DelphiのパフォーマンスをDelphiで改善:エンバカデロの製品戦略
社内政治を生き抜くための教訓10箇条
iPhoneでVoIP--Fringを早速試す
Firefox 3のブックマーク構造を理解しよう
エンタメCGM「gooメーカー☆メーカー」
グリーンITの第一歩は見える化です
Techno Exchange
ERPパッケージの導入を成功させるコツ
これからの時代のセキュリティ対策
ZDNet Japan Green IT