using System.Collections;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Serialization;
public static void Main()
string json = "{\"Row\":[{\"columnName\":\"category\",\"entityCode\":\"not a guid\"},{\"columnName\":\"numberValue\",\"numberValue\":\"not a number\"},{\"columnName\":\"value\",\"stringValue\":104.28398},{\"columnName\":\"value\",\"booleanValue\":\"not a bool\"}]}";
var errors = new List<string>();
var settings = new JsonSerializerSettings()
var _Obj = e.CurrentObject as Row;
errors.Add($"Error on {_Obj.ColumnName}: {e.ErrorContext.Error.Message}");
errors.Add(e.ErrorContext.Error.Message);
e.ErrorContext.Handled = true;
JsonConvert.DeserializeObject<Root>(json, settings).Dump();
public List<Row> Row { get; set; }
[JsonProperty("columnName")]
public string ColumnName { get; set; }
[JsonProperty("entityCode")]
public Guid? EntityCode { get; set; }
[JsonProperty("numberValue")]
public float? NumberValue { get; set; }
[JsonProperty("integerValue")]
public int? IntegerValue { get; set; }
[JsonProperty("booleanValue")]
public bool? BooleanValue { get; set; }