2016-09-19 55 views
1

我可以使用RestSharp很好發送「單行」之類的東西:RestSharp的Android上傳多行

「用戶名,密碼,電子郵件,電話,...」

但我無法理解如何發送多行,例如,此表中的所有值:

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

我該如何爲restsharp格式化參數?

感謝

編輯:問我告訴我如何發送「正常」的數據:

我參加的EditText(像,字符串1,字符串,STRING3)根據用戶輸入的數據,並將它們發送到I類使用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; 

這是一個表中的一行,我可以添加每個請求只有1號線這樣。但我想上傳更多的線路。

謝謝

+0

顯示你如何嘗試做,你使用POST方法或什麼? –

+0

是的,我使用後,我添加了代碼,如何我通常上傳數據,但我真的不知道如何擴展多線。我沒有找到任何東西。謝謝 – Raikoug

回答

0

這是我想出了代碼:

在C#應用程序,我一類的存儲數據,如

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或者一段時間來填充,在佈局中採用所有的編輯文本,甚至是動態文件,真棒。

這下一部分後需要「Newtonsoft.Json」(NutGet是你的朋友......你最好的朋友!)

string json = JsonConvert.SerializeObject(list); 

現在好了,你必須把它,我用後就像我在第一次寫帖子。

在PHP的一部分我採取了數據和分析:

$data = (json_decode($data)); 

這工作就像一個魅力,becouse我可以用元素訪問:

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的幫助。非常感謝!

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 
    } 
+0

非常感謝您的回答!這樣我可以爲「YourModel」添加多個條目?或者我需要製作一個「YourModel」的數組?再次感謝! – Raikoug

+0

您可以創建數組或列表。 –

+0

我希望最後的愚蠢問題。 JsonHelper的包?非常感謝大家! – Raikoug

相關問題