[Rails]一行代碼完成自定義JSON格式數據

在Rails3中,增加JSON格式數據輸出非常方便,只需在Controller中稍作修改即可。一種做法是在controller的開始處添加respond_to :json,然後使用respond_with響應請求。舉例:假定有模型:書(book),有兩個字段:書名(name)和作者名(author),controller爲BooksController,將其index方法修改爲(假定在index方法中輸出JSON數據):

 

此時啓動服務後(執行rails s),訪問地址:http://localhost:3000/books/index.json將返回類似以下格式的數據:

某些情況下我們需要改變JSON輸出格式,比如:需要把數以萬計的記錄緩存到客戶端的localStorage或local database,去掉數據類型名稱book以及字段名稱id,name,author,將大大減小數據尺寸。如何改變這種格式輸出呢?比如,輸出爲以下的數組格式:

一行代碼足矣。編輯文件app/views/books/index.json.erb,填入以下內容:

另一種有稍微改進的寫法:

 

(結束)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章