在 ruby​​ yaml 序列化中跳过所选类型

发布于 2024-07-29 21:37:28 字数 127 浏览 11 评论 0原文

我正在使用 YAML::dump() 序列化一些对象。 不幸的是,其中包括一些不应序列化的元素,例如有时带有等待线程的锁。

有没有办法从序列化中排除选定的类型,或者强制将它们序列化为空对象?

I'm serialising some object using YAML::dump(). Unfortunately that includes some elements that shouldn't be serialised, like locks with waiting threads sometimes.

Is there any way to exclude selected types from serialisation, or force them to be serialised as an empty object instead?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

生生漫 2024-08-05 21:37:30

对我来说这听起来不太优雅,但你可以扩展这些对象以将其转储为 nil

class IgnoredObject
  def to_yaml
    nil
  end
end

It doesn't sound very elegant to me, but you could extend those objects to dump as nil

class IgnoredObject
  def to_yaml
    nil
  end
end
宁愿没拥抱 2024-08-05 21:37:28

解决方法:

class ClassToNil
  def to_yaml
    nil.to_yaml
  end
end

Solved with:

class ClassToNil
  def to_yaml
    nil.to_yaml
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文