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();