c# - 如何在 RestSharp 中发布许多不同的字段名称?
问题描述
如何在 RestSharp 中发布许多不同的字段名称?下面是我尝试过的代码,会是这样还是其他方式。这里的任何帮助将不胜感激。
JObject jsonPOST = new JObject();
jsonPOST.Add("VariableName1", "temp1" );
jsonPOST.Add("VariableName2", "temp2" );
JObject jsonPOST1 = new JObject();
jsonPOST1.Add("VariableName1", "temp1" );
jsonPOST1.Add("VariableName2", "temp2" );
JObject jsonPOST2 = new JObject();
jsonPOST1.Add("number1", "2" );
jsonPOST1.Add("number2", "4" );
restRequest.AddParameter("application/json", jsonPOST , ParameterType.RequestBody);
restRequest.AddParameter("application/json", jsonPOST1 , ParameterType.RequestBody);
restRequest.AddParameter("application/json", jsonPOST2 , ParameterType.RequestBody);
如何使用上面的 RestSharp 结构发布这样的数据?
我希望这种格式的 POST 请求将被发送到 REST Api。
"{
"FieldName1":{
"VariableName1": "temp1",
"VariableName2": "temp2",
},
"FieldName2":{
"VariableName1": "temp1",
"VariableName2": "temp2",
},
"FieldName3": {
"number1": "2",
"number2": "4",
}
}"
解决方案
你需要把你所有的JObject
合而为一JObject
。
// Main JObject
var mainObj = new JObject();
// Syntax i love
var obj1 = new JObject
{
{"name", "CorrM"},
{"ip", "127.0.0.1"}
};
// Syntax are accepted too
var obj2 = new JObject();
obj2.Add("bla1", "bla");
obj2.Add("bla2", "bla");
// Combine on one JObject
mainObj.Add("FieldName1", obj1);
mainObj.Add("FieldName2", obj2);
然后添加到正文(转换为字符串)。(我不知道设置 Body 的正确方法)
restRequest.AddParameter("application/json", mainObj.ToString(Formatting.None), ParameterType.RequestBody);
输出字符串必须看起来像这样
{
"FieldName1": {
"name": "CorrM",
"ip": "127.0.0.1"
},
"FieldName2": {
"bla1": "bla",
"bla2": "bla"
}
}
推荐阅读
- java - Cassandra 通过 UUID 编写以解决冲突
- scala - 如何在 sbt 项目中发布仅测试对象
- goland - 无法创建代码模板 - 灰显
- kotlin - cinterop 进程以非零退出值 1 结束
- excel - 如何在 Excel 中创建自动更新的图表和公式
- html - 如何将我的图标放在页面中间并将文本放在图标下方?
- javascript - 语法错误,无法识别的表达式:Jquery
- collision-detection - 如何计算胶囊-三角形交点的穿透向量?
- json - 如何读取json元素
- python - 如何在 Ubuntu 16 中将 .py 文件转换为可执行图标?