JSON.NET&控制输出流中提供的类型信息

时间:2011-04-04 10:38:02

标签: .net json json.net

我们希望在跨平台解决方案中使用JSON.NET.net。

鉴于我们传递的数据结构,我们需要在序列化信息中包含类型详细信息。

我们可以使用JsonSerializer的TypeNameHandling属性将类型信息输入到流中,但我们最终会通过网络发送更多信息。

我们想要做的是做一些类似于MS JavaScriptSerializer的工作,即提供一个JavaScriptTypeResolver,然后用较短的东西替换长类型名称。

这可以通过JSON.NET实现吗?

1 个答案:

答案 0 :(得分:5)

我认为你应该看看JSON.NET“Contract Resolvers”。我引用:

  

IContractResolver接口提供了一种自定义方式   JsonSerializer将.NET对象序列化和反序列化为JSON。

     

实现IContractResolver接口,然后分配一个   实例到JsonSerializer允许您控制对象是否   序列化为JSON对象或JSON数组,对象成员应该是什么   被序列化,如何序列化以及它们被称为什么。