2014-09-12 77 views
0

我试图解析以下JSON代码:但是我越来越有点糊涂了通过数据的循环http://www.soyoustart.com/fr/js/dedicatedAvailability/availability-data.json解析JSON,并通过回复循环

,我不能工作了如何让循环通过不同的课程,让我到达可用性列表。

我以为它会在mydata,但似乎只是一大块。我如何过滤它,以便循环使用所有不同的可用性?

static void Main(string[] args) 
{ 
    DB db = new DB(); 
    DataTable dtServers = db.GetDataTable("select * from SYS_Servers"); 
    string htmlCode; 
    var json = ""; 
    using (var webClient = new System.Net.WebClient()) 
    { 
     json = webClient.DownloadString("http://www.soyoustart.com/fr/js/dedicatedAvailability/availability-data.json"); 
    } 

    dynamic myData = JsonConvert.DeserializeObject(json, typeof(object)); 
    String x = "moo"; 
} 

public class Zone 
{ 
    public string availability { get; set; } 
    public string zone { get; set; } 
} 

public class Availability 
{ 
    public string reference { get; set; } 
    public List<Zone> zones { get; set; } 
} 

public class RootObject 
{ 
    public List<Availability> availability { get; set; } 
} 

回答

0

试试这个:

static void Main(string[] args) 
    { 

     DB db = new DB(); 
     DataTable dtServers = db.GetDataTable("select * from SYS_Servers"); 
     string htmlCode; 
     var json = ""; 
     using (var webClient = new System.Net.WebClient()) 
     { 
      json = webClient.DownloadString("http://www.soyoustart.com/fr/js/dedicatedAvailability/availability-data.json"); 
     } 

     RootObject myData = JsonConvert.DeserializeObject(json, typeof(RootObject)) as RootObject; 
     foreach (var availability in myData.availability) 
     { 
      //do something with availability 
     } 
     String x = "moo"; 
    } 
    public class Zone 
    { 
     public string availability { get; set; } 
     public string zone { get; set; } 
    } 

    public class Availability 
    { 
     public string reference { get; set; } 
     public Zone[] zones { get; set; } 
    } 

    public class RootObject 
    { 
     public Availability[] availability { get; set; } 
    } 
+0

啊真的很有帮助。我如何通过RootObject循环? – TMB87 2014-09-12 13:40:55

+0

只需使用'for'或'foreach'? – 2014-09-12 13:42:33

+0

对不起,我明白了,但我循环了什么?一个rootobject? – TMB87 2014-09-12 14:04:44