您的位置:首页 > Web前端 > JavaScript

C# Json序列化与反序列化

2014-12-16 19:02 197 查看
http://blog.csdn.net/chenbin520/article/details/8711142

我们可以通过DataContractJsonSerializer类来序列化一个对象为json字符串

[csharp] view
plaincopy





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)进行序列化与反序列化

[csharp] view
plaincopy





List<Student> students = studentBLL.GetALL();

string jsonStudents = JsonConvert.SerializeObject(students);

[csharp] view
plaincopy





string jsonStudents = service.GetAllStudent();

List<Student> students = JsonConvert.DeserializeObject<List<Student>>(jsonStudents);

学习资料:http://james.newtonking.com/json/help/index.html#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: