C产品在市场上有哪些独特优势?
- 内容介绍
- 文章标签
- 相关推荐
本文共计473个文字,预计阅读时间需要2分钟。
在将一个类序列化为JSON或XML时,如果某个字段或属性不想被序列化,可以使用以下特性:
1. `[JsonIgnore]` 特性:使用Newtonsoft.Json进行序列化时,该特性可以使字段或属性不被序列化。
2.`[System.Web]` 特性:虽然这不是一个标准的序列化特性,但可以用来在System.Web环境下控制序列化行为。
将一个类序列化成JSON或XML时,如果某个字段或属性不想被序列化,则可以使用以下Attribute:
1、[Newtonsoft.Json.JsonIgnore]特性:使用Newtonsoft.Json序列化时字段不会被序列化。
2、[System.Web.Script.Serialization.ScriptIgnore]特性:使用JavaScriptSerializer序列化时字段不会被序列化。
3、[System.Xml.Serialization.XmlIgnore]特性:字段不会被序列化成XML。
using Newtonsoft.Json; using System; using System.IO; using System.Web.Script.Serialization; using System.Xml.Serialization; namespace QRCoderTest { class Program { static void Main(string[] args) { //创建用户信息 UserInfo user = new UserInfo(); user.Name = "张三"; user.Age = 25; user.Email = "[emailprotected]"; //1、使用Newtonsoft转JSON string newtonStr = JsonConvert.SerializeObject(user); //2、使用JavaScriptSerializer类转JSON JavaScriptSerializer serializer = new JavaScriptSerializer(); string serializedStr = serializer.Serialize(user); //3、XML序列化 string xmlStr = XmlSerialize<UserInfo>(user); Console.WriteLine(newtonStr); Console.WriteLine(serializedStr); Console.WriteLine(xmlStr); System.Console.ReadLine(); } //XML序列化方法 public static string XmlSerialize<T>(T obj) { using (StringWriter sw = new StringWriter()) { Type t = obj.GetType(); XmlSerializer serializer = new XmlSerializer(obj.GetType()); serializer.Serialize(sw, obj); sw.Close(); return sw.ToString(); } } } /// <summary> /// 用户信息类 /// </summary> public class UserInfo { /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 年龄 /// </summary> public int Age { get; set; } /// <summary> /// 电子邮件 /// </summary> [Newtonsoft.Json.JsonIgnore] [System.Web.Script.Serialization.ScriptIgnore] [System.Xml.Serialization.XmlIgnore] public string Email { get; set; } } }
执行结果:
1、使用Newtonsoft转JSON输出结果:{"Name":"张三","Age":25}
2、使用JavaScriptSerializer类转JSON输出结果:{"Name":"张三","Age":25}
3、XML序列化结果:<?xml version="1.0" encoding="utf-16"?><UserInfo xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xmlns:xsd="www.w3.org/2001/XMLSchema"> <Name>张三</Name> <Age>25</Age></UserInfo>
本文共计473个文字,预计阅读时间需要2分钟。
在将一个类序列化为JSON或XML时,如果某个字段或属性不想被序列化,可以使用以下特性:
1. `[JsonIgnore]` 特性:使用Newtonsoft.Json进行序列化时,该特性可以使字段或属性不被序列化。
2.`[System.Web]` 特性:虽然这不是一个标准的序列化特性,但可以用来在System.Web环境下控制序列化行为。
将一个类序列化成JSON或XML时,如果某个字段或属性不想被序列化,则可以使用以下Attribute:
1、[Newtonsoft.Json.JsonIgnore]特性:使用Newtonsoft.Json序列化时字段不会被序列化。
2、[System.Web.Script.Serialization.ScriptIgnore]特性:使用JavaScriptSerializer序列化时字段不会被序列化。
3、[System.Xml.Serialization.XmlIgnore]特性:字段不会被序列化成XML。
using Newtonsoft.Json; using System; using System.IO; using System.Web.Script.Serialization; using System.Xml.Serialization; namespace QRCoderTest { class Program { static void Main(string[] args) { //创建用户信息 UserInfo user = new UserInfo(); user.Name = "张三"; user.Age = 25; user.Email = "[emailprotected]"; //1、使用Newtonsoft转JSON string newtonStr = JsonConvert.SerializeObject(user); //2、使用JavaScriptSerializer类转JSON JavaScriptSerializer serializer = new JavaScriptSerializer(); string serializedStr = serializer.Serialize(user); //3、XML序列化 string xmlStr = XmlSerialize<UserInfo>(user); Console.WriteLine(newtonStr); Console.WriteLine(serializedStr); Console.WriteLine(xmlStr); System.Console.ReadLine(); } //XML序列化方法 public static string XmlSerialize<T>(T obj) { using (StringWriter sw = new StringWriter()) { Type t = obj.GetType(); XmlSerializer serializer = new XmlSerializer(obj.GetType()); serializer.Serialize(sw, obj); sw.Close(); return sw.ToString(); } } } /// <summary> /// 用户信息类 /// </summary> public class UserInfo { /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 年龄 /// </summary> public int Age { get; set; } /// <summary> /// 电子邮件 /// </summary> [Newtonsoft.Json.JsonIgnore] [System.Web.Script.Serialization.ScriptIgnore] [System.Xml.Serialization.XmlIgnore] public string Email { get; set; } } }
执行结果:
1、使用Newtonsoft转JSON输出结果:{"Name":"张三","Age":25}
2、使用JavaScriptSerializer类转JSON输出结果:{"Name":"张三","Age":25}
3、XML序列化结果:<?xml version="1.0" encoding="utf-16"?><UserInfo xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xmlns:xsd="www.w3.org/2001/XMLSchema"> <Name>张三</Name> <Age>25</Age></UserInfo>

