引用
| using Newtonsoft.Json; |
| |
| using Newtonsoft.Json.Linq; |
复制
JSON转实体类
| public class Person |
| { |
| public string Name { get; set; } |
| public int Age { get; set; } |
| public string Gender { get; set; } |
| } |
复制
| string jsonStr = "{\"name\": \"Tom\", \"age\": 20, \"gender\": \"male\"}"; |
| Person person = JsonConvert.DeserializeObject<Person>(jsonStr); |
复制
JSON转List
方法一
json
| { |
| "data": [ |
| { |
| "Id":"0", |
| "Username":"Vreeswijk", |
| "ProfilePicture":"media/user/0.png" |
| }, |
| { |
| "Id":"1", |
| "Username":"Mony", |
| "ProfilePicture":"media/user/12.png" |
| } |
| ] |
| } |
复制
实现
| JObject obj = JObject.Parse(json); |
| |
| |
| List<Shou> root = JsonConvert.DeserializeObject<List<Shou>>(obj["data"].ToString()); |
复制
方法二
json:
| { |
| "user":{ |
| [ |
| { |
| "Id":"0", |
| "Username":"Vreeswijk", |
| "ProfilePicture":"media/user/0.png" |
| } |
| ] |
| }, |
| "token":{ |
| [ |
| { |
| "access_token":"myToken1", |
| "refresh_token":"myToken2", |
| "expires_in":3600, |
| "expires_on":1577363756 |
| } |
| ] |
| } |
| } |
复制
两个类:
| public class Token |
| { |
| public string access_token { get; set; } |
| public string refresh_token { get; set; } |
| public int expire_in { get; set; } |
| public int expire_on { get; set; } |
| |
| } |
| |
| public class User |
| { |
| public int Id { get; set; } |
| public string Username { get; set; } |
| public string Password { get; set; } |
| public string ProfilePicture { get; set; } |
| |
| } |
复制
实现
| var jObject = JObject.Parse(json); |
| var userPropery = jObject["user"] as JArray; |
| List<User> userList= new List<User>(); |
| |
| foreach (var property in userPropery ) |
| { |
| var propertyList = JsonConvert.DeserializeObject<List<user>>(property.ToString()); |
| |
| userList.AddRange(propertyList); |
| } |
复制
结合使用
json:
| { |
| "number": 1, |
| "day": "星期九", |
| "user":{ |
| [ |
| { |
| "Id":"0", |
| "Username":"Vreeswijk", |
| "ProfilePicture":"media/user/0.png" |
| } |
| ] |
| }, |
| "token":{ |
| "access_token":"myToken1", |
| "refresh_token":"myToken2", |
| "expires_in":3600, |
| "expires_on":1577363756 |
| } |
| } |
复制
两个类:
| public class Token |
| { |
| public string access_token { get; set; } |
| public string refresh_token { get; set; } |
| public int expire_in { get; set; } |
| public int expire_on { get; set; } |
| |
| } |
| |
| public class User |
| { |
| public int Id { get; set; } |
| public string Username { get; set; } |
| public string Password { get; set; } |
| public string ProfilePicture { get; set; } |
| |
| } |
| |
| public class Data |
| { |
| public int number { get; set; } |
| public string day { get; set; } |
| public List<User> userList { get; set; } |
| public Token token { get; set; } |
| |
| } |
复制
实现
| var jObject = JObject.Parse(json); |
| |
| List<User> userList = JsonConvert.DeserializeObject<List<Shou>>(jObject["data"].ToString()); |
| Token token = JsonConvert.DeserializeObject<Token>(jObject["token"]); |
| int number = int.Parse(jObject["number"]); |
| string day = jObject["day"].ToString(); |
| |
| Data data = new Data(number,day,userList,token); |
| |
复制