Newtonsoft.Json序列化和反序列

weixin_30924079發表於2015-03-23

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());

 

 簡單demo下載

 

相關文章