我们可以通过DataContractJsonSerializer类来序列化一个对象为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;
}
}
使用Json.NET(Newtonsoft.Json)进行序列化与反序列化。
List<Student> students = studentBLL.GetALL();
string jsonStudents = JsonConvert.SerializeObject(students);
string jsonStudents = service.GetAllStudent();
List<Student> students = JsonConvert.DeserializeObject<List<Student>>(jsonStudents);