我们希望在跨平台解决方案中使用JSON.NET.net。
鉴于我们传递的数据结构,我们需要在序列化信息中包含类型详细信息。
我们可以使用JsonSerializer的TypeNameHandling属性将类型信息输入到流中,但我们最终会通过网络发送更多信息。
我们想要做的是做一些类似于MS JavaScriptSerializer的工作,即提供一个JavaScriptTypeResolver,然后用较短的东西替换长类型名称。
这可以通过JSON.NET实现吗?
答案 0 :(得分:5)
我认为你应该看看JSON.NET“Contract Resolvers”。我引用:
IContractResolver接口提供了一种自定义方式 JsonSerializer将.NET对象序列化和反序列化为JSON。
实现IContractResolver接口,然后分配一个 实例到JsonSerializer允许您控制对象是否 序列化为JSON对象或JSON数组,对象成员应该是什么 被序列化,如何序列化以及它们被称为什么。