我正在尝试将ASP.NET MVC 4测试版与JSON.NET一起使用。我正在使用upshot与web api进行对话。但是,当upshiot提交时,它会将更改集中的类型信息发送为(例如"__type":"EquipmentClass:#RXSteps.StepModel.Equipment"
,而不是"$type":"RXSteps.StepModel.Equipment.EquipmentClass, RXSteps.StepModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
,这正是JSON.NET想要的。
现在我已经用encodedChangeSet= encodedChangeSet.replace(/"__type":"EquipmentClass:#RXSteps.StepModel.Equipment"/g, '"$type":"RXSteps.StepModel.Equipment.EquipmentClass, RXSteps.StepModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"');
然而,我想知道如何以通用的方式为任何类型实现这一点。
非常感谢
我会创建您自己的UpshotJSONMediaTypeFormatter并在其中进行转换。Henrik在这里有一篇关于使用JSON.NET媒体类型格式化程序的文章。我只想自定义OnReadFromStreamAsync方法,以便在反序列化之前进行替换。