using System.Collections.Generic;
using Newtonsoft.Json.Linq;
public static void Main()
""FirstName"": [ ""Azhar"" ],
""LastName"": [ ""Rahi"" ]
""FirstName"": [ ""John"" ],
""LastName"": [ ""Doe"" ]
List<User> users = JsonConvert.DeserializeObject<List<User>>(json);
foreach (User user in users)
Console.WriteLine($"{user.Label} {user.Id}: {user.FirstName} {user.LastName}");
public int Id { get; set; }
public string Label { get; set; }
[JsonConverter(typeof(ArrayToSingleStringConverter))]
public string FirstName { get; set; }
[JsonConverter(typeof(ArrayToSingleStringConverter))]
public string LastName { get; set; }
public class ArrayToSingleStringConverter : JsonConverter
public override bool CanConvert(Type objectType)
return objectType == typeof(string);
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
JToken token = JToken.Load(reader);
return (string)token.Children<JValue>().FirstOrDefault();
throw new JsonException("Unexpected token type: " + token.Type);
public override bool CanWrite => false;
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
throw new NotImplementedException();