C# - BinaryFormatter的人类可读序列化替代方案

时间:2015-10-21 16:57:49

标签: c# serialization

我有一个通过

序列化的对象
server {
    listen 80;
    location  / {
        proxy_pass http://example.com/test/app;
    }
}

有没有办法以更容易理解的形式查看它,例如,在json中?感谢

2 个答案:

答案 0 :(得分:2)

使用Json.NET

string serialized = JsonConvert.SerializeObject(the_object);

要反序列化它,您可以通过泛型指定对象的类型:

YourEntity deserializedObject = JsonConvert.DeserializeObject<YourEntity>(serialized);

或者您可以利用dynamic(需要C#4.0或更新版本):

dynamic deserializedObject = JsonConvert.DeserializeObject(serialized);

答案 1 :(得分:0)

我相信,只有这样才能看到&#34;特定格式的序列化对象首先将其序列化为该形式。除非要编写大量代码将二进制对象转换为JSON,否则您无法获取二进制序列化对象并在JSON中查看它。但这完全是浪费时间。

如果数据已经以二进制序列化,则将其反序列化为类对象,然后将其重新序列化为JSON或XML。然后,您可以打开这些文件并了解其内容。