using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
public static void Main()
var modelString = "{\"States\": [{\"Name\": \"Texas\",\"Code\": \"TX\"}, {\"Name\": \"New York\",\"Code\": \"NY\"}]}";
var template = "State Is:{{States[0].Name}}";
RenderFromDictionary(modelString,template);
modelString = "{\"States\": [\"Texas\",\"New York\"]}";
template = "State Is:{{States[0]}}";
RenderFromDictionary(modelString,template);
var anonymoudmodel = new { States = new[] { new { Name = "Texas" }, new { Name = "New York" } } };
template = "State Is:{{States[0].Name}}";
RenderFromAnonymousObject(anonymoudmodel,template);
private static void RenderFromDictionary(string modelString, string template)
var model = JsonConvert.DeserializeObject<ExpandoObject>(modelString);
var templateModel = Hash.FromDictionary(model);
var html = Template.Parse(template).Render(templateModel);
private static void RenderFromAnonymousObject(dynamic model, string template)
var templateModel = Hash.FromAnonymousObject(model);
var html = Template.Parse(template).Render(templateModel);