以人类可读的文本格式序列化

Mar*_*tin 5 .net c# serialization .net-2.0

在.NET 2.0(C#)中是否有一种方法可以像使用XmlSerializer那样以简单/可定制的人类可读格式(例如PXLS或JSON )来序列化对象?另外我知道XML是人类可读的,我正在寻找一些不那么令人讨厌的冗余的东西,你可以输出到用户的控制台.

ull*_*ark 6

要在.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版本以及......