红宝石to_yaml键中的冒号

时间:2018-10-31 23:33:45

标签: ruby hash yaml

我正在将红宝石中的哈希值转换为yaml,但是它在键中添加了: 例如:

:name: "Name"
:value: "Value"

如果有一种避免方法,只是输出:

name: "Name"
value: "Value"

我可以使用gsub轻松做到这一点, 但是只是好奇

1 个答案:

答案 0 :(得分:4)

如果使用字符串键,则不会获得这些前缀。当您使用符号键序列化某些内容时,就会发生这种情况。

在Rails中或使用ActiveSupport,您可以在YAML.dump之前调用deep_stringify_keys将它们全部转换。

否则,YAML只是尝试尽可能完全地序列化和反序列化。使用:name: x还原的文件将{ :name => 'x' }作为结果数据。