diff --git a/PocketSharp/Models/PocketItem.cs b/PocketSharp/Models/PocketItem.cs index 596a2f7..492aa43 100644 --- a/PocketSharp/Models/PocketItem.cs +++ b/PocketSharp/Models/PocketItem.cs @@ -1,7 +1,7 @@ using Newtonsoft.Json; +using PropertyChanged; using System; using System.Collections.Generic; -using PropertyChanged; namespace PocketSharp.Models { diff --git a/PocketSharp/Models/Response/Retrieve.cs b/PocketSharp/Models/Response/Retrieve.cs index 9a8a30d..b89db04 100644 --- a/PocketSharp/Models/Response/Retrieve.cs +++ b/PocketSharp/Models/Response/Retrieve.cs @@ -1,4 +1,5 @@ using Newtonsoft.Json; +using System; using System.Collections.Generic; namespace PocketSharp.Models @@ -24,8 +25,8 @@ namespace PocketSharp.Models /// /// The since. /// - [JsonProperty] - public int Since { get; set; } + [JsonProperty("since")] + public DateTime Since { get; set; } /// /// Gets the items. diff --git a/PocketSharp/Utilities/JsonExtensions.cs b/PocketSharp/Utilities/JsonExtensions.cs index 82203ee..6b37abc 100644 --- a/PocketSharp/Utilities/JsonExtensions.cs +++ b/PocketSharp/Utilities/JsonExtensions.cs @@ -111,10 +111,25 @@ namespace PocketSharp { public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { + JObject jObject; List result = new List(); - JObject jObject = JObject.Load(reader); T target; + // object is an array + if (reader.TokenType == JsonToken.StartArray) + { + return serializer.Deserialize>(reader); + } + + try + { + jObject = JObject.Load(reader); + } + catch + { + return null; + } + // Populate the object properties foreach (KeyValuePair item in jObject) { @@ -126,6 +141,11 @@ namespace PocketSharp return result; } + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + throw new NotImplementedException(); + } + public override List Create(Type objectType) { return new List();