首页 > 代码库 > ruby to_yaml 筛选部分不参与序列化
ruby to_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);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。