C#以人类可读的文本将对象写入文件

时间:2017-07-10 20:37:28

标签: c# object serialization textwriter

是否存在任何标准机制或流程以人类可读的文本格式输出任何C#对象?

与序列化(BinaryFormatter.Serializer)不同,这不需要从文件中读回对象。

1 个答案:

答案 0 :(得分:2)

您可以使用许多不同的“人类可读”格式来表示数据(XML,JSON,YAML等)。一个常见的是JSON。

有一个名为JSON.NET的库,它在.NET社区中用于处理JSON。您可以使用内置的.NET方法,但我更喜欢这个nuget包。使用JSON.NET,您可以执行以下简单操作:

MyClass someObject = new MyClass();
someObject.SomeProperty = "Foo";
someObject.SomeOtherProperty = "Bar";
string json = JsonConvert.SerializeObject(someObject);

字符串“json”看起来与此类似:

{
    "SomeProperty":"Foo",
    "SomeOtherProperty":"Bar"
}

我制作了一个小提琴here,它显示了我创建的示例类以及它在序列化为JSON时的外观。