public void WriteReport(IValueReport report) { foreach (var pair in _jObject) { var key = pair.Key; pair.IfIs <JValue>(value => report.Value(key, value.Value <string>())); pair.IfIs <JObject>(jo => { report.StartChild(key); var child = new JObjectValues(jo); child.WriteReport(report); report.EndChild(); }); pair.IfIs <JArray>(ja => { int i = 0; foreach (JObject jo in ja.OfType <JObject>()) { report.StartChild(key, i); var child = new JObjectValues(jo); child.WriteReport(report); report.EndChild(); } }); } }
public T Read(string mimeType, IFubuRequestContext context) { var json = context.Services.GetInstance <NewtonSoftJsonReader>().GetInputText(); var values = new JObjectValues(json); return((T)context.Services.GetInstance <IObjectResolver>().BindModel(typeof(T), values).Value); }
public async Task <T> Read(string mimeType, IFubuRequestContext context) { var json = await context.Services.GetInstance <NewtonSoftJsonReader>().GetInputText().ConfigureAwait(false); var values = new JObjectValues(json); var value = context.Services.GetInstance <IObjectResolver>().BindModel(typeof(T), values).Value.As <T>(); return(value); }