首页 > 其他 > 详细

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

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

只需要重定义该对象的

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 筛选部分不参与序列化

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!