2013-07-12 24 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()); 
相关问题