ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
| API | SOURCE | | --- | --- | | Google GSON | [http://code.google.com/p/google-json/](http://code.google.com/p/google-json/) | | SOJO | [http://sojo.sourceforge.net/](http://sojo.sourceforge.net/) | | org.json (by Douglas Crockford) | [http://www.json.org/java](http://www.json.org/java) | | json-lib | [http://sourceforge.net/projects/json-lib/](http://sourceforge.net/projects/json-lib/) | | json-io | [http://code.google.com/p/json-io](http://code.google.com/p/json-io) | | jsontools | [http://jsontools.berlios.de/](http://jsontools.berlios.de/) | | jsonbeans | [http://code.google.com/p/jsonbeans/](http://code.google.com/p/jsonbeans/) | | ActiveSupport JSON | [http://api.rubyonrails.org/classes/ActiveSupport/JSON.html](http://api.rubyonrails.org/classes/ActiveSupport/JSON.html) | | Yajl | [https://github.com/brianmario/yajl-ruby](https://github.com/brianmario/yajl-ruby) | | Oj | [https://github.com/ohler55/oj](https://github.com/ohler55/oj) | Ruby on Rails提供了额外的功能,这使得转换Ruby对象为JSON更容易。下面的控制器使用ActionController的渲染方法输出地址对象到JSON: ~~~ class Person attr_accessor :first_name, :last_name def initialize(first_name=nil, last_name=nil) @first_name = first_name @last_name = last_name end end class MyController < ApplicationController def index person = Person.new('John', 'Doe') respond_to do |format| format.html # index.html.erb format.json { render :json => person} end end end ~~~ Rails的应用控制器负责编写对象为JSON格式或者解析JSON文件为对象。所以没有必要在这里写to_json方法