2013-03-22 52 views
2

我正在從Visual Studio c#中使用asmx web服務。示例代碼如何從c#中刪除d:from json response?

WebRequest request = WebRequest.Create(WholeURL); 
request.ContentType = "application/json; charset=utf-8"; 
request.Method = "POST"; 
request.ContentLength = postData.Length; 


using (StreamWriter requester = new StreamWriter(request.GetRequestStream())) 
{ 
requester.Write(postData); 
requester.Close(); 
} 

//Get the response 
WebResponse response = request.GetResponse(); 
// Get the stream containing content returned by the server. 
Stream dataStream = response.GetResponseStream(); 
// Open the stream using a StreamReader for easy access. 
StreamReader reader = new StreamReader(dataStream); 
// Read the content.ok 
string responseFromServer = reader.ReadToEnd(); 

如何從JSON響應刪除d

我的JSON響應爲:{ 「d」:-1} 我只需要-1。

感謝

+0

你是不是想改變服務器,因此只給你'-1'或者是你想改變客戶端,以便它知道如何正確地解析響應?如果您嘗試更改服務器,那麼讓我們看看服務器上的代碼是什麼樣的 - 正常的.asmx返回的是SOAP消息,而不是JSON,因此我們需要知道您當前如何發送響應。 – 2013-03-22 16:36:59

回答

0

我想你只需要解析JSON,並搶在關鍵=「d」的值。

使用JSON.NET

string json = @"{""key1"":""value1"",""key2"":""value2""}"; 
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json); 

Console.WriteLine(values.Count); // 2 
Console.WriteLine(values["key1"]); // value1