2013-10-29 49 views
0

我有類「警報」,其中包含Wunderground API的一些返回信息。然後,我在「警報」,「警報」中有另一節課。我的代碼如下所示:檢索列表中的字段值

public class Alerts 
{ 
    public class Features 
    { 
     public int alerts { get; set; } 
    } 

    public class Response 
    { 
     public string version { get; set; } 
     public string termsofService { get; set; } 
     public Features features { get; set; } 
    } 

    public class ZONED 
    { 
     public string state { get; set; } 
     public string ZONE { get; set; } 
    } 

    public class StormBased 
    { 
    } 

    public class Alert 
    { 
     public string type { get; set; } 
     public string description { get; set; } 
     public string date { get; set; } 
     public string date_epoch { get; set; } 
     public string expires { get; set; } 
     public string expires_epoch { get; set; } 
     public string message { get; set; } 
     public string phenomena { get; set; } 
     public string significance { get; set; } 
     public List<ZONED> ZONES { get; set; } 
     public StormBased StormBased { get; set; } 
    } 

    public class RootObject 
    { 
     public Response response { get; set; } 
     public string query_zone { get; set; } 
     public List<Alert> alerts { get; set; } 
    } 
    public class AlertsUpdateState 
    { 
     public HttpWebRequest AsyncRequest { get; set; } 
     public HttpWebResponse AsyncResponse { get; set; } 
    } 
} 

我在應用程序啓動時創建一個RootObject,然後使用JSON來清空值。該調用返回「響應」,「query_zone」和「警報」。現在最後一個是Alert類型的列表,其中包含發出警報的類型,描述等。

所以我有這個列表存儲爲alertVar。這有幾種方法,包括計數。我可以計算髮出了多少警報,但我不知道如何繼續。

如何用這個列表檢索字符串值(例如類型)?

+0

如何繼續前進?你的RootObject類中有一個列表,你想用它做什麼?這是一個列表,你可以做任何事情...像foreach(警報中的警報) – Faraday

+0

我不明白如何拉出值。我嘗試了foreach語句,但是如何格式化它才能獲得實際的字段值? –

+0

我已經添加了一個基本示例。 – Faraday

回答

0

假設alertVar是你的Alert列表,你可以這樣做:

string some_string; 
foreach (var alert in alertVar) 
{ 
    some_string += alert.type + ", "; 
} 

這將所有類型添加到一個長字符串(some_string)。 你可以做任何你想要的屬性一樣的...

+0

謝謝!我感覺這很簡單。 –

+0

只是挑剔,但如果它超過列表中的3個值不要做some_string + =,請使用StringBuilder。 – Mathieson

+0

絕對正確。字符串是不可變的,而執行'+ ='只是創建新的字符串,但爲了簡化示例,而不是創建字符串生成器,然後添加到它,然後使用他的ToString()...您得到的重點......'+ ='在這裏更加清晰:) – Noctis

0
foreach (var alert in alerts) 
{ 
    var type = alert.type; 
    var description = alert.description 
} 

這是你如何使用您的循環在項目上一個基本的例子。