我想从 WebServer 得到一些响应。

返回的数据如下所示:

[[3014887,"string1 string","http://num60.webservice.com/u3014887/b_c9c0625b.jpg",0],
[3061529,"string2 string","http://num879.webservice.com/u3061529/b_320d6d36.jpg",0],
[7317649,"string3 string","http://num1233.webservice.com/u7317649/b_a60b3dc2.jpg",0],
[12851194,"string4 string","http://num843.webservice.com/u12851194/b_4e273fa4.jpg",0],
[15819606,"string5 string","http://num9782.webservice.com/u15819606/b_66333a8f.jpg",0],
[15947248,"string6 string","http://num1500.webservice.com/u15947248/b_920c8b64.jpg",0]]

我认为是 JSON 格式,但我无法在我的 .Net WinForm 应用程序中解析它。
你能提供一些建议或例子如何做到这一点。

我在谷歌上搜索了 JSON.NET 库、DataContractJsonSerializer 类,但我无法理解如何将它们与响应的数据类型粘合在一起......

最佳答案

如果你想解析 JSON,那么 JSON.net 库就是你要去的地方。

你可以这样使用它:

var json = @"[[3014887,""string1 string"",""http://num60.webservice.com/u3014887/b_c9c0625b.jpg"",0],
                      [3061529,""string2 string"",""http://num879.webservice.com/u3061529/b_320d6d36.jpg"",0],
                      [7317649,""string3 string"",""http://num1233.webservice.com/u7317649/b_a60b3dc2.jpg"",0],
                      [12851194,""string4 string"",""http://num843.webservice.com/u12851194/b_4e273fa4.jpg"",0],
                      [15819606,""string5 string"",""http://num9782.webservice.com/u15819606/b_66333a8f.jpg"",0],
                      [15947248,""string6 string"",""http://num1500.webservice.com/u15947248/b_920c8b64.jpg"",0]]";
var array = JArray.Parse(json);

foreach (var token in array)
{
    Console.WriteLine(token[0]);
}

这样我就可以读取数组的内容。

关于c# - 在 .NET 运行时解析 JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2191141/

10-17 02:32