rails 对象递归转Json

rails 递归对象转json

直接上代码

require 'json'
def format_json data
  data.map do |k,v|
    if v.is_a?Hash
      data[k] = format_json(v)
    else
      data[k] = v
    end
  end
  return data.to_json
end

测试代码

2.5.3 :012 > a = {name:"gyj",age:10}
 => {:name=>"gyj", :age=>10}
2.5.3 :013 > format_json a
 => "{\"name\":\"gyj\",\"age\":10}"


2.5.3 :016 > a = {name:"gyj",age:10,data: {name: "gyj", age:10}}
 => {:name=>"gyj", :age=>10, :data=>{:name=>"gyj", :age=>10}}
2.5.3 :017 > format_json a
 => "{\"name\":\"gyj\",\"age\":10,\"data\":\"{\\\"name\\\":\\\"gyj\\\",\\\"age\\\":10}\"}"

你可能感兴趣的:(ruby,rails)