2013-07-12 57 views
0

對於我的生活,我無法弄清楚如何使用JSON.Net解析device_tokens的集合。我可以很好地解析頂級集合,但是我會以任何形式或形式解析出設備標記時進行轟炸。有人有主意嗎?使用JSON.Net從Urban Airship解析設備列表

{ 
    "next_page": "https://go.urbanairship.com/api/device_tokens/?start=07AAFE44CD82C2F4E3FBAB8962A95B95F90A54857FB8532A155DE3510B481C13&limit=2", 
    "device_tokens_count": 87, 
    "device_tokens": [ 
     { 
     "device_token": "0101F9929660BAD9FFF31A0B5FA32620FA988507DFFA52BD6C1C1F4783EDA2DB", 
     "active": false, 
     "alias": null, 
     "tags": [] 
     }, 
     { 
     "device_token": "07AAFE44CD82C2F4E3FBAB8962A95B95F90A54857FB8532A155DE3510B481C13", 
     "active": true, 
     "alias": null, 
     "tags": ["tag1", "tag2"] 
     } 
    ], 
    "active_device_tokens_count": 37 
} 
+0

相關問題:您是否能夠使用分頁(使用next_url)成功獲取所有設備令牌? –

回答

0

繼承人如何使用Json.NET

首先創建一個類來表示一個device_token:

public class DeviceToken 
{ 
    public string device_token { get; set; } 
    public bool active { get; set; } 
    public object alias { get; set; } 
    public List<object> tags { get; set; } 
} 

然後使用JsonConvert類,你可以反序列化JSON的device_token陣列到DeviceToken對象列表。

string json = "{\"next_page\": \"https://go.urbanairship.com/api/device_tokens/?start=07AAFE44CD82C2F4E3FBAB8962A95B95F90A54857FB8532A155DE3510B481C13&limit=2\",\"device_tokens_count\": 87,\"device_tokens\": [{\"device_token\": \"0101F9929660BAD9FFF31A0B5FA32620FA988507DFFA52BD6C1C1F4783EDA2DB\",\"active\": false,\"alias\": null,\"tags\": []},{\"device_token\": \"07AAFE44CD82C2F4E3FBAB8962A95B95F90A54857FB8532A155DE3510B481C13\",\"active\": true,\"alias\": null,\"tags\": [\"tag1\", \"tag2\"]  }],\"active_device_tokens_count\": 37}"; 

JObject obj = JObject.Parse(json); 

var deviceTokens = JsonConvert.DeserializeObject<List<DeviceToken>>(obj["device_tokens"].ToString()); 
相關問題