2017-02-27 66 views
0

我無法正確傳遞價值。這段代碼執行成功但空值達到指定頁面(」 http://............)。如何使用Json將數據從獲勝形式發送到Web?

Product objProduct = new Product(); 
objProduct.id = "1"; 
objProduct.name = "Sana"; 
string json = JsonConvert.SerializeObject(objProduct); 

var baseAddress = "http://.................."; 

var http = (HttpWebRequest)WebRequest.Create(new Uri(baseAddress)); 
http.Accept = "application/json"; 
http.ContentType = "application/json"; 
http.Method = "POST"; 

string parsedContent = json; 
ASCIIEncoding encoding = new ASCIIEncoding(); 
Byte[] bytes = encoding.GetBytes(parsedContent); 

Stream newStream = http.GetRequestStream(); 
newStream.Write(bytes, 0, bytes.Length); 
newStream.Close(); 

var response = http.GetResponse(); 

var stream = response.GetResponseStream(); 
var sr = new StreamReader(stream); 
var content = sr.ReadToEnd(); 
+0

您確定此Json對象對於該請求有效嗎? –

+0

當我執行我的代碼json字符串包含followinf值 – Ajisha

+0

{「id」:「1」,「name」:「Sana」,「products」:null,「success」:0} – Ajisha

回答

0

另一種簡單的解決方案,我用它來製作的要求是WebClient和你代碼可以是這樣的

Product objProduct = new Product(); 
    objProduct.id = "1"; 
    objProduct.name = "Sana"; 
    string json = JsonConvert.SerializeObject(objProduct); 
    var baseAddress = "http://.................."; 

    var respond = ""; 

    //Post request 
    using (WebClient wc = new WebClient()) 
    { 
    wc.Encoding = Encoding.UTF8; 
    respond = wc.UploadString(baseAddress, json); 
    } 

響應變量在這裏將有API返回結果

+0

響應變量hold {「products」:[{「id」:null,「name」:null}],「success」:1} – Ajisha

+0

執行期間joson變量顯示{「id」:「1」,「命名 「:」 薩「}。但執行後,答覆持有價值。我無法找到原因 – Ajisha

+0

這取決於你的服務回報,你的服務中的回報聲明是什麼@Ajisha –

1

你可以使用Microsoft.Net.Http

using (var client = new HttpClient()) 
{ 
    var objProduct = new Product(); 
    objProduct.id = "1"; 
    objProduct.name = "Sana"; 
    string json = JsonConvert.SerializeObject(objProduct); 
    var content = new StringContent(json); 
    var result = await client.PostAsync("http://localhost/product/", content); 
    var responseAsString = await result.Content.ReadAsStringAsync(); 
} 
+0

HttpClient和WebClient之間的區別是什麼? –

+0

爲什麼這會有幫助? OP根本不設置屬性'產品'... –

+1

@穆罕默德這是一個問題,它的答案在這裏http://stackoverflow.com/questions/20530152/need-help-deciding-between-httpclient-and-webclient/ 27737601#27737601 – jjchiw

相關問題