ton*_*ony 20 c# json json.net deserialization
我有来自服务器的下一个响应 -
{"response":[{"uid":174952xxxx,"first_name":"xxxx","last_name":"xxx"}]}
Run Code Online (Sandbox Code Playgroud)
我试图以下一种方式反序化 -
JsonConvert.DeserializeObject<T>(json);
Run Code Online (Sandbox Code Playgroud)
其中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; }
}
Run Code Online (Sandbox Code Playgroud)
我一直在尝试
public class SomeDto // maybe Response as class name will fix it but I don't want such name
{
public List<VkUser> Users {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
什么反序列化选项可以帮助我?
Alb*_*rto 45
使用SelectToken:
string s = "{\"response\":[{\"uid\":174952,\"first_name\":\"xxxx\",\"last_name\":\"xxx\"}]}";
var users = JObject.Parse(s).SelectToken("response").ToString();
var vkUsers = JsonConvert.DeserializeObject<List<VkUser>>(users);
Run Code Online (Sandbox Code Playgroud)
正如Brian Rogers所指出的,你可以ToObject直接使用:
var vkUsers = JObject.Parse(s).SelectToken("response").ToObject<List<VkUser>>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24667 次 |
| 最近记录: |