改善Rails3中render json的性能

原创文章,转载请注明来源并保留原文链接

在上一篇文章Rails3中的JSON知道render :json => @xxx其实是调用的to_json方法,而to_json其实是ActiveSupport::JSON.encode方法。

在数据量比较小的时候,性能还可以,但是当数据量很大的时候,性能非常差,这里我们可以用一些第三方的快的json库来解析:

我使用的是oj,配合MultiJson(Rails3中已经有了,但是只在decode的时候有用到)

# Gemfile
gem 'oj'

# application.rb
MultiJson.engine = :oj

render :json => MultiJson.encode(api_response)

其他一些json库

supported-json-engines

Leave a Reply

Your email address will not be published. Required fields are marked *