ruby-on-rails - 如何缩小 Rails 中的 JSON 输出?

标签 ruby-on-rails views minify

我使用 .json.erb View 而不是调用 to_json 方法。

我发现了一些关于 JSON 输出缩小的建议。一些讲述压缩 Web 应用程序的所有输出,其他人建议使用 after filterbefore render但他们没有解释如何缩小 JSON 元素之间的空格和制表符,以及从哪里获取 JSON 输入以及在哪里放置缩小的结果。第三个建议严格说明了缩小 JavaScript。

最佳答案

最简单的方法是让 Ruby 解析整个响应并使用 after_filter 再次将其吐出。 .在 app/controllers/application_controller.rb 中尝试以下代码.

class ApplicationController < ActionController::Base
  after_filter :minify_json

  private

  def minify_json
    response.body = JSON.parse(response.body).to_json if request.format.json?
  end
end

如果您决定要美化 JSON 而不是缩小 JSON,您可以使用以下代码:
class ApplicationController < ActionController::Base
  after_filter :beautify_json

  private

  def beautify_json
    response.body = JSON.pretty_generate(JSON.parse(response.body)) if request.format.json?
  end
end

或者,您可以允许请求者使用参数指定:
class ApplicationController < ActionController::Base
  after_filter :format_json

  private

  def format_json
    if request.format.json?
      json = JSON.parse(response.body)
      response.body = params[:pretty] ? JSON.pretty_generate(json) : json.to_json
    end
  end
end

关于ruby-on-rails - 如何缩小 Rails 中的 JSON 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15094951/

相关文章:

ruby-on-rails - 数组字段未被识别为属性

ruby-on-rails - 乘客安装脚本报告成功但无法安装 Nginx

search - Drupal 7 GeoField Proximity 使用搜索 API 索引

eclipse - 使用 Eclipse 和 JPA 从数据库 View 创建实体

php - 使用 PHP 根据请求缩小 JS/CSS 文件

javascript - 来自命令行的 Uglify-js 不会破坏变量名

ruby-on-rails - Rails 3.0.3 被认为是边缘吗?最新的稳定版本是什么?

ruby-on-rails - 给定一个字符串,如何附加一个回车符后跟另一个字符串?

android - 点击前景 View

sass - Gulpfile.js - 如何在 gulp.watch 上获取 .min.css、.css 和 .css.map 文件?