2016-08-05 200 views
3

我是新的C#,我打電話是返回一個編碼的JSON響應服務:C#解析JSON陣列

{"GetResult":["123"]} 

在我的代碼,我想123我寫了以下內容:

String response_after_parsing = JObject.Parse(response).SelectToken("GetResult").ToString(); 
Console.WriteLine(response_after_parsing); 

多數民衆贊成顯示在控制檯的字符串如下:

["123"] 

我已經搜查過這個問題,但我找不到解決方案,請幫助嗎?

+0

'SelectToken(「GetResult」)'你正在選擇這個密鑰的內容,所以返回是正確的 – Raskayu

+0

是的,但我只想123不是[「123」] –

+1

可能的重複[如何解析JSON與C# ?](http://stackoverflow.com/questions/6620165/how-can-i-parse-json-with-c) – Liam

回答

2

GetResult是一個數組,所以你需要在它訪問各個項目:

var response_after_parsing = JObject.Parse(response).SelectToken("GetResult")[0].ToString(); 

或者您可以使用JsonConvert.DeserializeObject()但再次在數組中訪問個別項目:

var response_after_parsing = ((dynamic)JsonConvert.DeserializeObject(response)).GetResult[0]; 
+0

謝謝我的朋友:) –

0
 var response_after_parsing = JObject.Parse("{'GetResult':['123']}"); 
     var data =response_after_parsing["GetResult"][0]; // use like this 

 var response_after_parsing = JObject.Parse(response).SelectToken("GetResult[0]").ToString();