RestSharp Serialize JSON Array to request 参数

RestSharp Serialize JSON Array to request parameter

我不是想 post 只是 JSON,而是我想 post 一个 JSON array 到post 请求的一个参数。

代码:

        var locations = new Dictionary<string, object>();
        locations.Add("A", 1);
        locations.Add("B", 2);
        locations.Add("C", 3);

        request.AddObject(locations);
        request.AddParameter("date", 1434986731000);

AddObject 失败,因为我认为新的 RestSharp JSON 序列化程序无法处理字典。 (此处错误:http://pastebin.com/PC8KurrW

我也试过了 request.AddParameter("locations", locations); 但这根本没有序列化为 json。

我希望请求看起来像

locations=[{A:1, B:2, C:3}]&date=1434986731000

[] 很重要,即使只有 1 个 JSON 对象。它是 JSON 个对象的数组。

不是很圆滑,但是这样可以:

var request = new RestSharp.RestRequest();

var locations = new Dictionary<string, object>();
locations.Add("A", 1);
locations.Add("B", 2);
locations.Add("C", 3);

JsonObject o = new JsonObject();

foreach (var kvp in locations)
{
    o.Add(kvp);
}

JsonArray arr = new JsonArray();
arr.Add(o);

request.AddParameter("locations", arr.ToString());
request.AddParameter("date", 1434986731000);