public static void Main()
string koValue = "{\"CustomFieldId\":\"1\",\"AssignmentObjectId\":\"null\",\"Value\":\"\",\"Child\":null}";
if(TryDeserialize<NestedCustomFieldNodeValueDto>(koValue, out NestedCustomFieldNodeValueDto x1))
Console.WriteLine("OK "+ x1.CustomFieldId);
Console.WriteLine("KO ");
string okValue = "{\"CustomFieldId\":\"2\",\"AssignmentObjectId\":\"666\",\"Value\":\"eeee\",\"Child\":null}";
if(TryDeserialize<NestedCustomFieldNodeValueDto>(okValue, out NestedCustomFieldNodeValueDto x2))
Console.WriteLine("OK "+ x2.Value);
Console.WriteLine("KO ");
var err500 = JsonConvert.DeserializeObject<NestedCustomFieldNodeValueDto>(koValue);
public class NestedCustomFieldNodeValueDto
public int CustomFieldId { get; set; }
public int? AssignmentObjectId { get; set; }
public string Value { get; set; }
public string CodeValue { get; set; }
public NestedCustomFieldNodeValueDto Child { get; set; }
private static bool TryDeserialize<T>(string json, out T result)
result = JsonConvert.DeserializeObject<T>(json);