Update ObjectToArrayConverter to return null when JObject cannot be
created
This commit is contained in:
2013-11-19 19:30:59 +01:00
parent e2bf62e506
commit 67c48839d9
3 changed files with 25 additions and 4 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
using Newtonsoft.Json;
using PropertyChanged;
using System;
using System.Collections.Generic;
using PropertyChanged;
namespace PocketSharp.Models
{
+3 -2
View File
@@ -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.
+21 -1
View File
@@ -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>();