我想在camelCase中发布JSON,并按照这里的说明操作:
https://github.com/restsharp/RestSharp/wiki/Deserialization#overriding-jsonserializationstrategy
public class CamelCaseSerializerStrategy : PocoJsonSerializerStrategy
{
protected override string MapClrMemberNameToJsonFieldName(string clrPropertyName)
{
return char.ToLower(clrPropertyName[0]) + clrPropertyName.Substring(1);
}
}
Run Code Online (Sandbox Code Playgroud)
然后我用这段代码创建一个新的客户端:
var client = new RestClient(_baseUrl);
SimpleJson.CurrentJsonSerializerStrategy = new CamelCaseSerializerStrategy();
Run Code Online (Sandbox Code Playgroud)
但是,在发出请求时,串行器未激活.RestSharp文档遍布整个地方,并且大部分都是错误的.查看源代码(RestRequest.AddBody),看起来根本不使用SerializerStrategy.
我一直在寻找一种在客户端级别进行此更改的方法,或者在不需要修改每个请求的地方.
我见过这个博客 - 也许这是唯一的方法.如果您只能在请求级别更改序列化策略,这似乎是RestSharp的一大步.