首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ActiveSupport覆盖#to_json行为

ActiveSupport覆盖#to_json行为
EN

Stack Overflow用户
提问于 2011-02-14 19:40:25
回答 3查看 2.3K关注 0票数 3

如何教ActiveSupport不重写标准的"json“gem行为?

代码语言:javascript
运行
复制
require "rubygems"
gem "json"
require "json"

class Time
  def to_json(options = nil)
    "custom string"
  end
end

hash = { :x => Time.now }

puts hash.to_json # => {"x":custom string}

gem "activesupport"
require "active_support/core_ext/object" # Somewhere into Rails internals

puts Time.now.to_json # => custom string

puts hash.to_json # => {"x":"2011-02-14T16:30:10+05:00"}

期望:在需要"active_support/core_ext/object“之后,我想得到{”x“:自定义字符串}结果。

EN

回答 3

Stack Overflow用户

发布于 2011-02-14 21:02:14

由于一些重要的原因,Rails从v2.3.3开始切换到#as_json。所以和它一起跳舞吧。

http://weblog.rubyonrails.org/2009/7/20/rails-2-3-3-touching-faster-json-bug-fixes

票数 1
EN

Stack Overflow用户

发布于 2011-02-14 19:47:20

你必须定义

代码语言:javascript
运行
复制
class Time
  def to_json(options = nil)
    "custom string"
  end
end

之后

代码语言:javascript
运行
复制
gem "activesupport"
require "active_support/core_ext/object" 

代码。

票数 0
EN

Stack Overflow用户

发布于 2011-02-14 20:19:18

使用像Time.now.strftime("format")这样的strftime格式化Time.now值怎么样?对于格式化字符串,请参阅Ruby Docs

或者,如果您不想格式化它,只需将其作为字符串调用Time.now.to_s即可

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4991709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档