RestSharp android 上传多行

RestSharp android upload multiple lines

我可以很好地使用 RestSharp 发送 "mono-line" 像这样的东西:

"user, password, email, telephone, ... "

但是我不明白如何发送多行,例如,这个table中的所有值:

+-----------+-----------+-------+
|    Dog    |   Race    | user  |
+-----------+-----------+-------+
| Skitty    | Doberman  | User1 |
| Birillo   | Pinscher  | User2 |
| Fragolino | Corgi     | User3 |
| ...       | ...       | ...   |
+-----------+-----------+-------+

我应该如何格式化 restsharp 的参数?

谢谢

编辑:按照要求我展示了我如何发送 "normal" 数据:

我从用户在 EditText 中输入的数据(如 string1、string2、string3)中获取数据,并将它们发送到我用于 RestSharp 的 class,并通过以下方式发送它们:

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;

这是 table 中的单行,我可以通过这种方式为每个请求添加 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
    }

这是我想出的所有代码:

在 C# 应用程序中,我有一个 class 存储数据,例如

public class MyClass
    {
        public string field1{ get; set; }
        public string field2 { get; set; }
        public string field3 { get; set; }
        public string field4 { get; set; }
    }

然后我用我的所有条目填充一个列表:

List<MyClass> list= new List<MyClass>();
// make new element of MyClass like "element1"
list.Add(element1);

好吧,这个方法很棒,因为列表可以很容易地用 foreach 或 while 填充,在布局中获取所有编辑文本,甚至是动态的,真棒。

在下一部分之后需要 "Newtonsoft.Json"(NutGet 是你的朋友......你最好的朋友!)

 string json = JsonConvert.SerializeObject(list);

那么现在你必须发送它,我使用 post 就像我在第一个 post 中写的那样。

在 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);

完成!

感谢@mwisnicki 的帮助。非常感谢!