码迷,mamicode.com
首页 > 其他好文 > 详细

ruby to_yaml 筛选部分不参与序列化

时间:2014-06-10 15:54:19      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:ruby   to_yaml   序列化   yaml   

只需要重定义该对象的

to_yaml_properties 方法, 只返回要序列化的字段就可以了


class A
	attr_reader :a
	attr_reader :b
	def initialize(x,y)
		@a = x
		@b = y
	end  
end

a = A.new(1,3)

p a.to_yaml	# => "--- !ruby/object:A\na: 1\nb: 3\n"
class << a
  def to_yaml_properties
		properties = super
		properties.delete(:@a)
		return properties
	end
end

p a.to_yaml	# => "--- !ruby/object:A\nb: 3\n"

反序列化的方法是

obj = YAML.load(yaml);

ruby to_yaml 筛选部分不参与序列化,布布扣,bubuko.com

ruby to_yaml 筛选部分不参与序列化

标签:ruby   to_yaml   序列化   yaml   

原文地址:http://blog.csdn.net/frodo_sens/article/details/29367353

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!