c# - RestSharp发送字典

标签 c# dictionary deserialization restsharp

我已经了解了如何从响应中反序列化字典,但是如何发送字典?

var d = new Dictionary<string, object> {
    { "foo", "bar" },
    { "bar", 12345 },
    { "jello", new { qux = "fuum", lorem = "ipsum" } }
};

var r = new RestRequest(url, method);
r.AddBody(d); // <-- how?

var response = new RestClient(baseurl).Execute(r);

最佳答案

呃...还有其他事情搞砸了我的案子。如@Chase said ,这很简单:

var c = new RestClient(baseurl);
var r = new RestRequest(url, Method.POST);  // <-- must specify a Method that has a body

// shorthand
r.AddJsonBody(dictionary);

// longhand
r.RequestFormat = DataFormat.Json;
r.AddBody(d);

var response = c.Execute(r); // <-- confirmed*

不需要将字典包装为另一个对象。

(*) 确认它使用 Fiddler 或 RestSharp 等 echo 服务发送了预期的 JSON SimpleServer

关于c# - RestSharp发送字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526400/

相关文章:

c# - 如何使用 C# 读取二进制文件?

dictionary - 如何查找项目是否包含在 Julia 的 Dict 中

java - 找不到非具体 Map 类型的反序列化器 [map type;类 javax.ws.rs.core.MultivaluedMap

c# - 如何在 WTelegramClient 中更改我的头像

c# - 对于二维数组,Array.Copy() 是否比 for 循环更快?

python - 初始化空的 Python 数据结构

python - Python 中字典的最大大小?

java - Jackson 反序列化 JSON,跳过没有必填字段的对象?

java - 在 Java 中使用 JAXB 映射命名空间

c# - 如何使用他们的 SDK 判断我的文件是否已从 Amazon S3 中成功删除?