我正在为我们的一个内联应用程序构建一个配置文件。它本质上是一个 json 文件。我在让 puppet/ruby 1.8 每次都以相同的方式输出 hash/json 时遇到了很多麻烦。
我目前正在使用
<%= require "json"; JSON.pretty_generate data %>
但是在输出人类可读的内容时,它并不能保证每次都具有相同的顺序。这意味着 puppet 会经常针对相同的数据发送更改通知。
我也试过
<%= require "json"; JSON.pretty_generate Hash[*data.sort.flatten] %>
每次都会生成相同的数据/订单。当数据具有嵌套数组时,问题就出现了。
data => { beanstalkd => [ "server1", ] }
变成
"beanstalkd": "server1",
代替
"beanstalkd": ["server1"],
我已经断断续续地为此奋斗了几天,所以需要一些帮助