Mar*_*tin 5 .net c# serialization .net-2.0
在.NET 2.0(C#)中是否有一种方法可以像使用XmlSerializer那样以简单/可定制的人类可读格式(例如PXLS或JSON )来序列化对象?另外我知道XML是人类可读的,我正在寻找一些不那么令人讨厌的冗余的东西,你可以输出到用户的控制台.
要在.NET中序列化为JSON,请执行以下操作:
public static string ToJson(IEnumerable collection)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(collection.GetType());
string json;
using (MemoryStream m = new MemoryStream())
{
XmlDictionaryWriter writer = JsonReaderWriterFactory.CreateJsonWriter(m);
ser.WriteObject(m, collection);
writer.Flush();
json = Encoding.Default.GetString(m.ToArray());
}
return json;
}
Run Code Online (Sandbox Code Playgroud)
集合项需要具有"DataContract"属性,并且您希望序列化为JSON的每个成员必须具有"DataMember"属性.
这可能只适用于.NET 3.5.但是有一个同样简单的2.0版本以及......