C# 利用Newtonsoft.Json进行Json序列化与反序列化

简介: 我们可以通过DataContractJsonSerializer类来序列化一个对象为json字符串。 public class JsonConvert { public static string ObjectToJson(T obj)...

我们可以通过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);


目录
相关文章
|
28天前
|
存储 C#
C#中的序列化和反序列化
C#中的序列化和反序列化
12 0
|
1月前
|
存储 Java 数据库
|
5天前
|
存储 Java
Java输入输出:解释一下序列化和反序列化。
Java中的序列化和反序列化是将对象转换为字节流和反之的过程。ObjectOutputStream用于序列化,ObjectInputStream则用于反序列化。示例展示了如何创建一个实现Serializable接口的Person类,并将其序列化到文件,然后从文件反序列化回Person对象。
15 5
|
28天前
|
存储 C#
C#中的序列化和反序列化案例
C#中的序列化和反序列化案例
10 0
|
1月前
|
JSON Java Maven
使用Jackson进行 JSON 序列化和反序列化
使用Jackson进行 JSON 序列化和反序列化
23 0
|
1月前
|
存储 JSON 安全
序列化模块pickle和json有什么区别
序列化模块pickle和json有什么区别
18 0
|
1月前
|
存储 JSON 网络协议
【计算机网络】序列化,反序列化和初识协议
【计算机网络】序列化,反序列化和初识协议
|
JSON Java 数据格式
使用java将json文件反序列化成java对象
使用java将json文件反序列化成java对象
172 0
|
JSON Java 数据格式
使用java将json文件反序列化成java对象
使用java将json文件反序列化成java对象
使用java将json文件反序列化成java对象
|
3月前
|
JSON PHP 数据格式