to_json覚え書き

to_jsonの使い方ぐぐっても初心者向けなのでてこなかったので書くよ。

jsonとは

JSON(ジェイソン、JavaScript Object Notation)は、JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語である。

http://ja.wikipedia.org/wiki/JavaScript_Object_Notation

中身は配列みたいので出来てるようだ。
[]の中が配列扱いで{}の中がオブジェクト
user

idnameclusterprofile
1konyanewbie紺屋健生です
2dankogaigeekなんでも弾言します
んでもってuser.rbってモデルがあって、Userってclassが定義されてるとして
user_controllerで

def user_json
render :text => User.find(:all).to_json
end

とすると表示されるのが

[
{"id": "1", "name": "konya", "cluster": "newbie", "profile": "紺屋健生です"},
{"id": "2", "name": "dankogai", "cluste"r: "geek", "profile": "なんでも弾言します"}
]

となるはず。to_jsonにオプションをつけると

render :text => User.find(:all).to_json(:only => [:name, :cluster])

とすると

[
  {"name": "konya", "cluster": "newbie"},
  {"name": "dankogai", "cluste"r: "geek"}
]

となるはず。これをextとかで利用したいけどまだうまくいかないorz

これ見やすく書いたつもりが恐ろしく見辛いな。どう書けばいいんだ。。はてダtips だれか たのむ

to_jsonのoptionとかは
\ruby\lib\ruby\gems\1.8\gems\activerecord-2.1.1\lib\active_record\serializers\json_serializer.rb
に書いてある模様。

参考

azlab 開発Memo :[Rails]Rails 2.1のto_jsonCommentsAdd Star
http://d.hatena.ne.jp/w650/20080822/1219392188
jsonの説明はここがわかりやすい
http://www.json.org/json-ja.html