我有一个ASP。. NET web API项目,因为它不支持有2个主体参数,我使用一个JObject参数,然后从中提取实际参数。这样的。
Public bool mymethod(JObject data){
myclassA a = data["a"].toObject<myclassA>();
myclassA b = data["b"].toObject<myclassB>();
}
但是这两个类类型实现了isserializable,我需要JSON。. NET忽略它。我已经设置了默认的JSON。NET序列化器来做这件事,当序列化是自动完成时,它工作得很好。
但我需要得到一个引用的内置JSON。. NET序列化器,以便我可以在上面的代码中像这样使用它。
myclassA b = data["b"].toObject<myclassB>(defaultSerializer);
目前我创建了一个JSON的新实例。. NET序列化器并使用它。但是我如何在asp.net WEB API中获得对默认内置序列化器的引用呢?
我也不能改变类类型中的任何东西,因为这是一种我正在转换为web api的传统应用程序。谢谢。
试试这个:
JsonSerializer serializer = JsonSerializer.Create(Configuration.Formatters.JsonFormatter.SerializerSettings);
这应该给你相同的序列化器Web API使用。