Rails4にはjbuilderが標準で入っていて、viewを設定するだけでJSON出力が可能ならしい。 例えばRails4でPostgreSQLとBootstrap使ったアプリを作ってみた(3):データ一覧ページを作って、詳細ページへのリンクを貼る - shigeponが関心のある技術情報などのページをとりあえずjsonで出力するにはapp/views/events/index.json.jbuilderを用意するだけでOK。http://0.0.0.0:3000/events/index.json にアクセスするとJSONで表示してくれる。なんと楽チンな! JSONの出力形式を変更する場合はindex.json.jbuilderを編集する
例えばこんな感じ
json.array!(@events) do |item|
json.name item.name
json.date item.date
end
例えばこうしておくと一覧を配列出力しつつ、出力したいフィールドを指定出来る。viewだけで操作出来るのは楽チンだわ。 詳しい書式はブログ等の記事を見るよりも、英語だけどrails/jbuilder · GitHubを見るとよさげ。
jbuilderでネストした配列を出力する
大抵の説明では一番外側が配列で、中身はハッシュというものばかりで、配列の中が配列という形での出力方法の説明が無かったのでメモ
[[1,2],[2,2],[3,1]]
みたいなjsonを出力する場合
json.array!(@events) do |item|
json.array!([item.x.to_i,item.y.to_i])
end
という指定をする。