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对象数组。
不是很光滑,但这可以工作:
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);