0

对于我的生活,我无法弄清楚如何使用 JSON.Net 从中解析 device_tokens 的集合。我可以很好地解析出顶级集合,但我正在以任何形状或形式解析设备令牌。有人有想法么?

    {
   "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
}
4

1 回答 1

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());
于 2013-07-12T19:29:09.090 回答