如何反序列化JSON数组并忽略根节点?

我有来自服务器的下一个响应 –

{"response":[{"uid":174952xxxx,"first_name":"xxxx","last_name":"xxx"}]} 

我试图以下一种方式反序化 –

 JsonConvert.DeserializeObject(json); 

其中T = VkUser的列表,但是我收到了错误。

 [JsonObject] public class VkUser { [JsonProperty("uid")] public string UserId { get; set; } [JsonProperty("first_name")] public string FirstName { get; set; } [JsonProperty("last_name")] public string LastName { get; set; } } 

我总是试着

 public class SomeDto // maybe Response as class name will fix it but I don't want such name { public List Users {get;set;} } 

什么反序列化选项可以帮助我?

使用SelectToken :

 string s = "{\"response\":[{\"uid\":174952,\"first_name\":\"xxxx\",\"last_name\":\"xxx\"}]}"; var users = JObject.Parse(s).SelectToken("response").ToString(); var vkUsers = JsonConvert.DeserializeObject>(users); 

正如Brian Rogers所指出的,你可以直接使用ToObject

 var vkUsers = JObject.Parse(s).SelectToken("response").ToObject>();