【发布时间】:2015-11-15 16:46:41
【问题描述】:
我正在尝试收集满足特定查询的 Windows 事件并将它们序列化为 JSON,以便我可以将该集合导入 MongoDB 数据库。这只是我在练习和胡闹,但我被困在这一点上,希望能够继续前进。
问题:
当我使用JsonConvert.SerializeObject(...) 时,我肯定会用它来序列化与对象类似的东西,因为有一些属性仍然存在:
public class EventSerializer
{
public static void Serialize(EventLogEntry eventLogEntry)
{
var traceWriter = new MemoryTraceWriter();
JsonConvert.SerializeObject(eventLogEntry, Formatting.Indented, new JsonSerializerSettings
{
TraceWriter = traceWriter
});
Console.WriteLine(traceWriter);
}
}
输出:
{
"DataBuffer": "<seemingly-random, long string>",
"LogName": "Application",
"MachineName": "<my machine's name>"
}
我什至可以反序列化对象并得到我期望的结果。但我真的不希望其中的 DataBuffer 键值对,我希望 EventLogEntry 的内容可读,以便我可以从 MongoDB 中解析该信息。
我一直在查看 Json.NET 的文档,我想知道是否需要创建自己的 Converter 或其他东西,但我在从这里理解这一切时遇到了一些麻烦.还有人谈论in the documentation,关于选择加入/退出序列化特定属性/字段的能力,但我不清楚如何对声明/规范不是的对象执行此操作自己写的。
感谢任何和所有帮助/建议。
【问题讨论】:
标签: c# json mongodb serialization json.net