在.NET运行时中解析JSON

Aki*_*lov 4 .net c# json

我想从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]]
Run Code Online (Sandbox Code Playgroud)

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

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

Lod*_*ijk 14

如果你想解析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]);
}
Run Code Online (Sandbox Code Playgroud)

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

  • string json = GetJson(); JArray a = JArray.Parse(json); (2认同)