使用 RestSharp,如何在 RestRequest.AddJsonBody() 中包含像“$fieldname”这样的字段名?

Using RestSharp, how to include a fieldname like "$fieldname" in RestRequest.AddJsonBody()?

使用 RestSharp,我需要 POST 一个包含 json 字符串的正文,如下所示:

{
    "$a": "b",
    "c": "d"
}

过去我使用如下代码创建 RestSharp 请求:

var request = new RestRequest("someApiEndPoint", RestSharp.Method.POST);
request.AddJsonBody(new
{
    a = "b",
    c = "d"
});

在这种情况下,向 "a" 属性 添加“$”的最佳方法是什么?

由于您使用的是匿名类型,因此您可以轻松地切换到使用字典:

var root = new Dictionary<string, object>
{
    {"$a", "b" },
    {"c", "d" },
};
var request = new RestRequest("someApiEndPoint", RestSharp.Method.POST)
    .AddJsonBody(root);

如果您使用的是显式类型,您可以检查 RestSharp serialization to JSON, object is not using SerializeAs attribute as expected 的选项。