2012-12-03 41 views
1

我是WP的新手开发人员。我在解析json数据时遇到了一些问题。我从一个网站上获取它并用JSON.Net解析。 JSON数据的在windows phone7上解析json与JSON.net c#

实施例:

{ “openfooty”:{ “版本”: “1.0”, “响应”:{ “状态”: “OK”}, “队”:{ “团队”: [{ “ID”: “660”, “CDATA”: “阿森纳”},{ “ID”: “661”, “CDATA”: “切尔西”},{ “ID”: “662”, “CDATA”: “曼联”},{“id”:“663”,“cdata”:“利物浦”},{“id”:“664”,“cdata”:“纽卡斯尔联队”},{“id”:“665 “cdata”:“Aston Villa”},{“id”:“667”,“cdata”:“Fulham”},{“id”:“670”,“cdata”:“Southampton”},{“ id“:”674“,”cdata“:”Everton“},{”id“:”675“,”cdata“:”Tottenham Hotspur“},{”id“:”676“,”cdata“城市“},{”id“:”677“,”cdata“:”诺维奇城市“},{”id“:”678“,”cdata“:”西布罗姆维奇城市“},{”id“:” “cdata”:“Sunderland”},{“id”:“684”,“cdata”:“西汉姆联队”},{“id”:“686”,“cdata”:“维冈竞技” {“id”:“688”,“cdata”:“Reading”},{“id”:“690”,“cdata”:“Stoke City”},{“id”:“702”,“cdat一个“:”女王公园巡游者“},{”id“:”738“,”cdata“:”斯旺西城市“}]}}}

我需要解析团队名称,即”阿森纳“,”切尔西“等,最好用他们的ID和商店列表。我做了(使用http://json2csharp.com/#)的类别是:

public class Response 
{ 
public string status { get; set; } 
} 

public class Team 
{ 
public string id { get; set; } 
public string cdata { get; set; } 
} 

public class Teams 
{ 
public List<Team> team { get; set; } 
} 

public class Openfooty 
{ 
public string version { get; set; } 
public Response response { get; set; } 
public Teams teams { get; set; } 
} 

public class RootObject 
{ 
public Openfooty openfooty { get; set; } 
} 

我这样做的CS页:

public class Loaddata 
    { 

     public Loaddata() 
     { 

      if (NetworkInterface.GetIsNetworkAvailable()) 
      { 
       WebClient proxy = new WebClient(); 
       proxy.DownloadStringCompleted += new DownloadStringCompletedEventHandler(proxy_DownloadStringCompleted); 
       proxy.DownloadStringAsync(new Uri("http://api.openfooty.org/1.0/league.getTeams?api_key=4&league_id=8&format=json")); 


      } 


     } 


    void proxy_DownloadStringCompleted(object sender,DownloadStringCompletedEventArgs e) 
     { 
      if (e.Error != null) return; 
      { 

       var o = JObject.Parse(e.Result); 

       var x= o["openfooty"].First.First["team"]; 
       string name = x.Value<string>();}} 

,但我不明白的分析数据。需要帮助!谢谢:)

+0

我故意把错误的URI。谢谢:) –

回答

1

为什么当你声明所有的类时,你会像var x= o["openfooty"].First.First["team"];那样采用动态的方式。

这个作品

RootObject root = JsonConvert.DeserializeObject<RootObject>(e.Result); 
var id = root.openfooty.teams.team[0].id; 
+1

谢谢你! :d –