Puppet:木偶模板内部的外部因子json数组迭代

时间:2014-06-19 07:46:43

标签: json puppet facter

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

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

我可以在木偶模板中做这件事吗?我该如何迭代这个数组?我试过跟随但失败了

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

此致 Malintha

1 个答案:

答案 0 :(得分:0)

您的模板本质上是一个Ruby scriptlet。要对ruby代码中的JSON数据进行操作,必须将deserialize转换为真正的Ruby对象。

请注意,您的数组包含哈希值,因此您的模板需要采用不同的结构:

<% require 'json'
   JSON.parse(@employees).each do |person|
     firstname, lastname = person['firstName'], person['lastName'] -%>
<%= firstname %>
<% end -%>