嵌套对象转json?

ruby中如何将嵌套对象转成json?
比如一个对象obj包含一个自定义的实例变量b
如果使用to_json的话,没法将b的内容也输出来
需要的是obj.to_s这样的输出,但是要是json的形式
用to_yaml是可以的,但是希望直接转json

顺便问一句,to_json和to_yaml明显是同一种函数,为什么会有这样的结果差异?

阅读 4.1k
1 个回答
require 'oj'

class A
    def initialize a=[1,2,3], b='hello'
        @a = a
        @b = b
    end
end
puts Oj::dump a, :indent => 2, :mode => :compat

Output:

{
  "a":[
    1,
    2,
    3
  ],
  "b":"hello"
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进