using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.Collections.Specialized;
static void Main(string[] args)
""title"": ""ID Display Name""
""title"": ""Title Display name""
""title"": ""CUSTOM_123"",
""formLabel"": ""CUSTOM_123 Display Name""
List<Field> result = JsonConvert.DeserializeObject<List<Field>>(json, new JobInfoConverter());
Console.WriteLine(result.Count);
public string title { get; set; }
public string type { get; set; }
public class JobInfoConverter : JsonConverter
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
List<Field> result = new List<Field>();
var content = JObject.Load(reader);
foreach (var prop in content.Properties())
var parsedValue = prop.Value.ToObject<Field>();
if (prop.Name.StartsWith("CUSTOM_"))
parsedValue.title = prop.Value["formLabel"].ToString();
public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) => throw new NotImplementedException();
public override bool CanConvert(Type objectType)
public override bool CanWrite => true;