using Newtonsoft.Json.Linq;
public static void Main()
""PVPTITLE"": ""Freshman"",
""LASTNAME"": ""Kahuna"",
""RANK_name"": ""Vindicator"",
""PROF"": ""Martial Artist"",
""CHAR_INSTANCE"": 12734,
""RANK_TITLE"": ""President"",
""NAME"": ""Elements of Destruction"",
JsonWhoisResult result = JsonConvert.DeserializeObject<JsonWhoisResult>(json, new JsonWhoisResultConverter());
public class JsonWhoisResultConverter : JsonConverter
public override bool CanConvert(Type objectType)
return (objectType == typeof(JsonWhoisResult));
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
JArray array = JArray.Load(reader);
JsonWhoisResult result = new JsonWhoisResult();
result.stats = array[0].ToObject<stats>();
result.header = array[1].ToObject<header>();
result.datetime = array[2].ToString();
public override bool CanWrite
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
throw new NotImplementedException();
public class JsonWhoisResult
public stats stats { get; set; }
public header header { get; set; }
public string datetime { get; set; }
public int ORG_DIMENSION { get; set; }
public string RANK_TITLE { get; set; }
public int ORG_INSTANCE { get; set; }
public string NAME { get; set; }
public int RANK { get; set; }
public string SEX { get; set; }
public string BREED { get; set; }
public int PVPRATING { get; set; }
public string NAME { get; set; }
public string FIRSTNAME { get; set; }
public string PVPTITLE { get; set; }
public string LASTNAME { get; set; }
public int CHAR_DIMENSION { get; set; }
public int ALIENLEVEL { get; set; }
public string RANK_name { get; set; }
public int HEADID { get; set; }
public string PROFNAME { get; set; }
public int LEVELX { get; set; }
public string PROF { get; set; }
public int CHAR_INSTANCE { get; set; }
public string SIDE { get; set; }