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);
我不是想 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);