在C#开发语言编程中,通常使用系统内置的JavaScriptSerializer
类来序列化对象,以便将其转换为JSON格式的文本存储与后台服务通信, 在这里将为大家详细介绍一下这个过程。
文章目录
- 反序列化
- 序列化
- 忽略属性
假设处理的数据中有一个对象类, 如下
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
反序列化
假设读取的数据中有一个序列化格式文本jsonText
, 它的内容如下
{
"Name:"zs1028",
"Age":18
}
使用它的反序列化方法Deserialize
可获取到对象实例
JavaScriptSerializer serializer = new JavaScriptSerializer();
Person obj = serializer.Deserialize<Person>(jsonText);
使用前需要添加
System.Web.Script.Serialization
的引用
序列化
使用它的序列化方法Serialize
获取格式化的文本
var person = new Person {
Name = "zs1028",
Age = 18
};
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(person);
忽略属性
如果你想序列化对象时忽略某些属性, 可以使用ScriptIgnore
属性。
这个属性可以标记在类的属性上,使得在序列化时该属性被忽略。
下面是一个示例代码:
using System;
using System.Web.Script.Serialization;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
[ScriptIgnore] // 这个属性不会被序列化
public string Mark { get; set; }
}
public class Program
{
public static void Main()
{
Person person = new Person
{
Name = "zs1028",
Age = 18,
Mark = "压心底压心底,不能告诉你,我的小秘密..."
};
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(person);
Console.WriteLine(json); // 输出将不包括Secret属性
}
}
写到这里, 学会了吗, 就这么简单!