2016-08-05 159 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();