0

我正在将数据从 puppet 代理发送到主节点。在这里,我在我的 facters/facts.d/myData.json 文件中使用了 json 数组。在主人方面,我有一个模板。在那里我想迭代这个外部事实 json 数组。

{ "employees" :
     [ 
      {"firstName":"John", "lastName":"Doe"},
      {"firstName":"Anna", "lastName":"Smith"},
      {"firstName":"Peter", "lastName": "Jones"},
    ]
   }

我可以在 puppet 模板中做这件事吗?我怎样才能迭代这个数组?我尝试关注但失败了

<% @employees.each do |firstname| -%>
malintha
<% end -%>

问候, 马林萨

4

1 回答 1

0

您的模板本质上是一个 Ruby scriptlet。要对 ruby​​ 代码中的 JSON 数据进行操作,您必须将其反序列化为真正的 Ruby 对象。

请注意,您的数组包含哈希,因此您的模板需要以不同的方式构造,无论如何:

<% require 'json'
   JSON.parse(@employees).each do |person|
     firstname, lastname = person['firstName'], person['lastName'] -%>
<%= firstname %>
<% end -%>
于 2014-06-19T08:28:22.027 回答