1,序列化
方法:SerializeObject
返回結果是字串,支援多執行緒,非同步
方法有7個過載
2,反序列化方法
DeserializeObject
支援 泛型、非同步、多執行緒
看一下效果:
//泛型 public static T DeserializeObject<T>(string value);
//非同步 public static Task<object> DeserializeObjectAsync(string value);
下面簡寫幾個例子,供參考
序列化:
var user = new User { Password = "123456", UserName = "TEST" }; //轉換為json字串 var resultStr = JsonConvert.SerializeObject(user); Console.WriteLine(resultStr);
反序列化:
//轉換成物件 var user1 = JsonConvert.DeserializeObject<User>(resultStr); Console.WriteLine(user1.ToString());
集合也一樣:
//複雜一點的 var role = new Role { Name = "角色名" }; role.UserList = new List<User>(); role.UserList.Add(user); role.UserList.Add(user1); var roleStr = JsonConvert.SerializeObject(role); Console.WriteLine(roleStr); var role1 = JsonConvert.DeserializeObject<Role>(roleStr); Console.WriteLine(role1.ToString()); //集合 var userlist = JsonConvert.SerializeObject(role.UserList); Console.WriteLine(userlist); var userList = JsonConvert.DeserializeObject<List<User>>(userlist); Console.WriteLine(userList.ToString());