【发布时间】:2014-01-10 02:57:31
【问题描述】:
我正在处理这个需要序列化 JSON 对象以使用 RestSharp 发布参数的项目,下面是我的代码:
var request = new RestRequest();
request.Method = Method.POST;
request.RequestFormat = DataFormat.Json;
request.AddBody(jsonObject);
return client.Execute<dynamic>(request);
我意识到,request.AddBody 不是将每个 JSON 名称值对添加为一个 post 参数,而是将整个 JSON 字符串添加为一个大的 post 参数。我的问题是,有没有办法让request.AddBody 方法将每个 JSON 名称-值对添加为单独的帖子参数?我知道request.AddParameter() 可以完成这项工作,但这需要手动添加每个参数。
代替:
[0]:{
application/json="
{
"name":"john doe",
"age": "12",
"gender": "male"}
}
}
期望的结果:
[0]:"name":"john doe"
[1]:"age":"12"
[2]:"gender":"male"
【问题讨论】:
-
你能举一个你想要完成的例子吗?向我们展示您从什么开始以及您希望最终结果是什么。
-
我不明白您的“期望结果”的格式 - 它似乎不是 POST 请求正文的标准格式。像
?name=john doe&age=12&gender=male这样的东西会更规范。你能确认一下这是否是你的想法吗? -
@DanielC,是的,这正是我想要的。但不是有一个 foreach 循环来添加单个参数,我只是想知道 JSON.net 中是否有任何解决方案可以将所有 json 转换为类似 ?name=john doe&age=12&gender=male
标签: c# json json.net restsharp http-post