using Newtonsoft.Json.Linq;
public static void Main()
""Record processed successfully""
var dto = JsonConvert.DeserializeObject<ResultDTO>(json, new StringArrayToStringConverter());
Console.WriteLine($"StatCode: {dto.StatCode}");
Console.WriteLine($"StatusMessage: {dto.StatusMessage}");
Console.WriteLine($"MSCaseNumber: {dto.MSCaseNumber}");
Console.WriteLine($"MSAccountNumber: {dto.MSAccountNumber}");
public string MSAccountNumber { get; set; }
public string MSCaseNumber { get; set; }
public string StatusMessage { get; set; }
public string StatCode { get; set; }
class StringArrayToStringConverter : JsonConverter
public override bool CanConvert(Type objectType)
return objectType == typeof(string);
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
if (reader.TokenType == JsonToken.Null) return null;
if (reader.TokenType == JsonToken.String) return (string)reader.Value;
if (reader.TokenType == JsonToken.StartArray)
JArray array = JArray.Load(reader);
string value = (string)array.Children<JValue>().FirstOrDefault();
throw new JsonException("Unexpected token type: " + reader.TokenType);
public override bool CanWrite => false;
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
throw new NotImplementedException();