RestSharp序列化JSON数组以请求参数

本文关键字:请求 参数 数组 序列化 JSON RestSharp | 更新日期: 2023-09-27 17:59:06

我不想只发布JSON,而是想向发布请求的一个参数发布一个JSON数组。

代码:

        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对象数组。

RestSharp序列化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);