使用RestSharp,如何包含类似" $ fieldname"的字段名称。在RestRequest.AddJsonBody()?

时间:2017-12-08 19:32:53

标签: c# json restsharp

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

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

过去,我使用以下代码创建了RestSharp请求:

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

添加" $"的最佳方式是什么?到" a"这种情况下的财产?

1 个答案:

答案 0 :(得分:2)

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

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 以获取选项。