fixes #12
Update ObjectToArrayConverter to return null when JObject cannot be created
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
using Newtonsoft.Json;
|
||||
using PropertyChanged;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using PropertyChanged;
|
||||
|
||||
namespace PocketSharp.Models
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PocketSharp.Models
|
||||
@@ -24,8 +25,8 @@ namespace PocketSharp.Models
|
||||
/// <value>
|
||||
/// The since.
|
||||
/// </value>
|
||||
[JsonProperty]
|
||||
public int Since { get; set; }
|
||||
[JsonProperty("since")]
|
||||
public DateTime Since { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the items.
|
||||
|
||||
@@ -111,10 +111,25 @@ namespace PocketSharp
|
||||
{
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
JObject jObject;
|
||||
List<T> result = new List<T>();
|
||||
JObject jObject = JObject.Load(reader);
|
||||
T target;
|
||||
|
||||
// object is an array
|
||||
if (reader.TokenType == JsonToken.StartArray)
|
||||
{
|
||||
return serializer.Deserialize<List<T>>(reader);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
jObject = JObject.Load(reader);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
// Populate the object properties
|
||||
foreach (KeyValuePair<string, JToken> 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<T> Create(Type objectType)
|
||||
{
|
||||
return new List<T>();
|
||||
|
||||
Reference in New Issue
Block a user