是否存在任何标准机制或流程以人类可读的文本格式输出任何C#对象?
与序列化(BinaryFormatter.Serializer
)不同,这不需要从文件中读回对象。
答案 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时的外观。