我的 json 键通过 RestSharp POST 后被转换为小写

My json keys are getting converted to lowercase once I POST it via RestSharp

这是我的代码:

    request.AddHeader("Content-Type", "application/json; charset=utf-8");
    request.RequestFormat = DataFormat.Json;

    request.AddJsonBody(new
    {
       

        AccountName= "Some account name",
        AccountStatus= true
    });

    request.AddParameter("Content-Type", "application/json; charset=utf-8", ParameterType.RequestBody);

    request.RequestFormat = DataFormat.Json;

    response = client.ExecutePostAsync(request).Result;
    Console.WriteLine(response.Content.ToString());

}

我得到的响应是:400 (Bad Request)

然后从服务器日志中,我知道上面的代码不维护 json 键的驼峰式大小写。它作为 accountname 而不是 AcconutName 发送。 AccountStatus.

相同

RestSharp 使用 JSON serialization in the Web context 的默认选项。您可以为客户更改这些:

var options = new JsonSerializerOptions(JsonSerializerDefaults.Web);
options.PropertyNamingPolicy = null;
client.UseSystemTextJson(options);

以上示例仍然使用 web 的默认选项,但删除了负责将 属性 名称序列化为 camel-case.

的 PropertyNamingPolicy