using DotLiquid.NamingConventions;
using System.Collections.Generic;
public class DataJson : Drop
public Dictionary<string, object> Data { get; set; }
public static void Main()
var someDropInstance =new DataJson()
Data = new Dictionary<string, object> {
{"myKey2", new Dictionary<string, object>(){
{"key2",new List<Dictionary<string, object>>(){
new Dictionary<string, object>(){{"name","test"}},
new Dictionary<string, object>(){{"name","test2"}}
var preparedTemplate = Template.Parse("{{ Data.myKey }}{% for item in Data.myKey2.key2%}{{item.name}}{% endfor%}");
var templateOutput = preparedTemplate.Render(Hash.FromAnonymousObject(someDropInstance));
Console.WriteLine(templateOutput);