2017-08-31 29 views
0

你好,我請求發送到服務器,我想用newtonsoft錯誤JSON數據發送到POST請求

我想發送的數據這樣

{ 

    "Id": 1, 
    "PROF_EMAILD": "[email protected]", 
    "MAILID": "[email protected]", 
    "NAME": "aaa" 
} 

我已經實現了一些代碼的反序列化JSON字符串this.code看起來像這樣

protected override string RunInBackground(params string[] @params) 
    { 
     string sUrl = "http://52.163.215.46:4444/api/FBLogins"; 
     string sContentType = "application/json"; // or application/xml 
     try 
     { 
      JObject oJsonObject = new JObject(); 
      oJsonObject.Add("Id", 22); 
      oJsonObject.Add("PROF_EMAILD", "[email protected]"); 

      oJsonObject.Add("MAILID", "[email protected]"); 

      oJsonObject.Add("NAME", "aaa"); 


      HttpClient oHttpClient = new HttpClient(); 
      var oTaskPostAsync = oHttpClient.PostAsync(sUrl, new StringContent(oJsonObject.ToString(), Encoding.UTF8, sContentType)); 
      oTaskPostAsync.ContinueWith((oHttpResponseMessage) => 
      { 
       Console.WriteLine("Abhijit", oHttpResponseMessage.ToString()); 
      }); 
     } 
     catch (Java.Lang.Exception e) 
     { 

     } 
     catch (System.Exception e) 
     { 

     } 
     return null; 

    } 

但同時發送請求JSON像這樣

{{ 

    "Id": 1, 
    "PROF_EMAILD": "[email protected]", 
    "MAILID": "[email protected]", 
    "NAME": "aaa" 
}}//extra bracks 

,我如何獲得性反應的字符串,以及如何轉換,在JSON

回答

0

你可以嘗試沒有新的刺一樣。 var oTaskPostAsync = oHttpClient.PostAsync(sUrl,oJsonObject.ToString());

感謝

+0

讓我試試這個我會更新 –

+0

它給出錯誤無法從字符串轉換成system.net.http.httpcontent –

0

我認爲最好的辦法是做的對newtonsoft文檔頁面的例子類似的東西https://www.newtonsoft.com/json/help/html/SerializingJSON.htm

創建數據模型派:

public class Users 
{ 
    public int Id {get; set;} 
    public string PROF_EMAILD {get; set;} 
    public string MAILID{get; set;} 
    public string NAME{get; set;} 
} 

實例化與您的數據類:

Users user = new Users(); 
...ADD DATA TO USERS ... 

using (var client = new HttpClient()) 
{ 
    var content = new StringContent(JsonConvert.SerializeObject(user)); 
    content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); 

    var response = await client.PostAsync(new Uri("http://your-url"), content); 

    /* handle response here*/ 
}; 

然後張貼「輸出」到API

+0

爵士如何使與該數據請求 –

+0

我收到錯誤var oTaskPostAsync = oHttpClient.PostAsync(「api/FBLogin」,輸出); –

+0

請參閱我已經 –