C# 解析 Json 数组

3

我是C#的新手,我正在调用一个返回编码json响应的服务:

{"GetResult":["123"]}

在我的代码中,我想要获取123。我写下了以下代码:

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

在控制台中显示的字符串如下:
["123"]

我已经搜索了这个问题,但是没有找到解决方案,请帮忙吗?


选择 SelectToken("GetResult"),您正在选择此键的内容,因此返回值是正确的。 - Raskayu
是的,但我只想要123,而不是["123"]。 - Monzer Yaghi
1
可能是如何使用C#解析JSON?的重复问题。 - Liam
2
把它当作一个数组,你就没问题了。 - Bohdan Ivanov
2个回答

2
< p> 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
        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();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接