def lookup(key, scope, order_override, resolution_type)
answer = nil
Hiera.debug("Looking up #{key} in JSON backend")
Backend.datasources(scope, order_override) do |source|
Hiera.debug("Looking for data source #{source}")
jsonfile = Backend.datafile(:json, scope, source, "json") || next
data = JSON.parse(File.read(jsonfile))
next if data.empty?
next unless data.include?(key)
new_answer = Backend.parse_answer(data[key], scope)
case resolution_type
when :array
answer ||= []
answer << new_answer
else
answer = Backend.parse_answer(data[key], scope)
break
end
end
return answer
end