我可以非常好地使用RestSharp发送“单行”内容,例如:
“用户,密码,电子邮件,电话......”
但我无法理解如何发送多行,例如,此表中的所有值:
+-----------+-----------+-------+
| Dog | Race | user |
+-----------+-----------+-------+
| Skitty | Doberman | User1 |
| Birillo | Pinscher | User2 |
| Fragolino | Corgi | User3 |
| ... | ... | ... |
+-----------+-----------+-------+
我如何格式化restsharp的参数?
由于
编辑:按照要求我展示如何发送“正常”数据:
我从EditText中的用户输入中获取数据(比如,string1,string2,string3),并将它们发送到我用于RestSharp的类,然后我发送它们:
var client = new RestClient("x.x.x.x/app/");
var request = new RestRequest("/ServiceX", Method.POST);
request.AddParameter("Dog", string1);
request.AddParameter("Race", string2);
request.AddParameter("User", string3);
IRestResponse response = client.Execute(request);
var content = response.Content;
这是表中的一行,我只能以这种方式为每个请求添加一行。但我想上传更多行。
由于
答案 0 :(得分:1)
试试这个。 JsonHelper 1.0.2您可以通过NuGet或here
下载 public class YourModel
{
public string Doggy { get; set; }
public string Race { get; set; }
public string User { get; set; }
}
public YourModel nYModel = new YourModel();
nYModel.Doggy = string1;
nYModel.Race = string2;
nYModel.User = string3;
var client = new RestClient(ServiceUrl);
var request = new RestRequest("/resource/", Method.POST);
// Json to post.
string jsonToSend = JsonHelper.ToJson(nYModel);
request.AddParameter("application/json; charset=utf-8", jsonToSend, ParameterType.RequestBody);
request.RequestFormat = DataFormat.Json;
try
{
client.ExecuteAsync(request, response =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
// OK
}
else
{
// NOK
}
});
}
catch (Exception error)
{
// Log
}
答案 1 :(得分:0)
这是我提出的所有代码:
在c#app中,我有一个存储数据的类,比如
public class MyClass
{
public string field1{ get; set; }
public string field2 { get; set; }
public string field3 { get; set; }
public string field4 { get; set; }
}
然后我用我的所有条目填充List:
List<MyClass> list= new List<MyClass>();
// make new element of MyClass like "element1"
list.Add(element1);
嗯,这个方法很棒,因为列表可以很容易地用foreach或者while填充,在布局中采用所有的edittext,甚至是动态的,很棒。
接下来的部分需要“Newtonsoft.Json”(NutGet是你的朋友......你最好的朋友!)
string json = JsonConvert.SerializeObject(list);
现在你必须发送它,我使用的帖子就像我在第一篇文章中写的那样。
在php部分中我获取数据并解析为:
$data = (json_decode($data));
这就像一个魅力,因为我可以访问元素:
foreach ($data as &$object){
$obj->field1
$obj->field2
$obj->field3
$obj->field4
}
那么现在只需构建查询字符串就可以了...(仅仅是为了我自己对完整性的渴望,我会粘贴最后一部分)
$query = 'INSERT INTO `table_name`(`field1`, `field2`, `field3`, `field4`) VALUES ';
foreach ($data as &$object)
{
$query_parts[] = "('" . $object->field1 . "', '" . $object->field2 . "', '" . $object->field3 . "', '" . $object->field4 . "')";
}
$query .= implode(',', $query_parts);
DONE!
感谢@mwisnicki的帮助。非常感谢!