【发布时间】:2019-04-05 04:58:39
【问题描述】:
我在 ruby 中将哈希转换为 yaml,但它会将 : 添加到键中: 例如:
:name: "Name"
:value: "Value"
如果有办法避免直接输出:
name: "Name"
value: "Value"
我可以用 gsub 轻松做到这一点, 但只是好奇
【问题讨论】:
我在 ruby 中将哈希转换为 yaml,但它会将 : 添加到键中: 例如:
:name: "Name"
:value: "Value"
如果有办法避免直接输出:
name: "Name"
value: "Value"
我可以用 gsub 轻松做到这一点, 但只是好奇
【问题讨论】:
如果您使用字符串键,您将不会获得这些前缀。当您使用符号键序列化某些内容时会发生这种情况。
在 Rails 中或使用 ActiveSupport,您可以调用 deep_stringify_keys 将它们全部转换为 YAML.dump。
否则 YAML 只是尽可能准确地序列化和反序列化。带有:name: x 的恢复文件具有{ :name => 'x' } 作为结果数据。
【讨论】:
the_hash.transform_keys(&:to_s)