C# 利用Newtonsoft.Json進行Json序列化與反序列化
阿新 • • 發佈:2019-01-08
我們可以通過DataContractJsonSerializer類來序列化一個物件為json字串。
使用Json.NET(Newtonsoft.Json)進行序列化與反序列化。public class JsonConvert<T> { public static string ObjectToJson(T obj) { var serializer = new DataContractJsonSerializer(typeof(T)); var stream = new MemoryStream(); serializer.WriteObject(stream, obj); byte[] dataBytes = new byte[stream.Length]; stream.Position = 0; stream.Read(dataBytes, 0, (int)stream.Length); string json = Encoding.UTF8.GetString(dataBytes); return json; } public static T JsonToObject(string jsonString) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); var stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); T t1 = (T)serializer.ReadObject(string); return t1; } }
List<Student> students = studentBLL.GetALL();
string jsonStudents = JsonConvert.SerializeObject(students);
string jsonStudents = service.GetAllStudent(); List<Student> students = JsonConvert.DeserializeObject<List<Student>>(jsonStudents);