基于路线或类型的动态合约解析程序

时间:2014-06-02 16:40:03

标签: c# json asp.net-mvc-4 serialization json.net

对于我正在进行的项目,我希望将被序列化的对象的属性改为客户端JavaScript。我可以在应用程序启动时configure the API controllers to use CamelCasePropertyNameContractResolver一次(例如在global.asax.cs中)。这适用于我希望在整个Web应用程序中出现此行为的情况。

问题在于,其他尚未将JavaScript转换为使用惯用的camelCasing(他们使用非传统的PascalCase)的其他团体正在处理Web应用程序的许多方面。

CamelCasePropertyNameContractResolver 的签名具有单个名称参数时,如何创建将通过默认Json.NET实现进行序列化的合同解析程序:

protected override string ResolvePropertyName(string propertyName)
{
    return propertyName;
}

当我需要它的时候还有驼峰的情况吗?如果有一个解决方案,简而言之,它需要某种上下文(例如路由,类型被序列化的命名空间......)以及在合同解析器中访问该上下文的某种方式。

0 个答案:

没有答案