2012-09-23 45 views
0

我想解析this page如何解析Windows Phone中的JSON?

该页面有JSON数据是这样的:

{"List":[{"num":"1","name":"hello","ox_score":"30","between_score":"30","order_score":"30","total_score":"90"}]} 

我尝试下面的代码(我用JSON.NET),但我是concerend关于“清单”,我也试过JArray。和... o [“列表”] [“名称”]但我无法得到正确的结果。下面的代码也返回空消息。 请帮我一把。

代码

public void connection() 
     { 
      string uriString = "http://kah601.cafe24.com/jp_mango_loadboard.php"; 

      WebClient wc = new WebClient(); 
      wc.Headers["Accept"] = "application/json"; 


      wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted); 
      wc.DownloadStringAsync(new Uri(uriString)); 


     } 
     void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
     { 

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


      String name = (string) o["name"]; 
      String ox_score = (string) o["ox_score"]; 
      String between_score = (string) o["between_score"]; 
      String order_score = (string) o["order_score"]; 
      String total_score = (string) o["total_score"]; 

      String rank_result = name + ox_score + between_score + order_score + total_score; 

      MessageBox.Show(rank_result); 

     } 

回答

2

给了它是一个列表,你应该指数JArray的元素。下面是一个示例代码来帮助你(注意[0] =>引用JArray的第一元素):

void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
{ 

    JObject o = JObject.Parse(e.Result); 
    JArray a = (JArray)o["List"]; 

    Debug.WriteLine("{0}", (String)a[0]["name"]); 
} 
+0

OMG !!!!!!!!!我真的很感激。它运作良好!我对json对象和数组感到困惑。谢谢! –

+0

你可以接受答案,那样别人会有类似的问题将查找答案作为解决方案。欢迎来到StackOverflow :) –

+0

可怜的辛迪金,你应该接受这个答案.. –