Could not cast or convert from System.String to type

Oct 30, 2010 at 1:29 AM

Hello, I can't figure out why I am getting this:

Newtonsoft.Json.JsonSerializationException was unhandled
  Message=Error converting value "{
  "RunNumber": "1950",
  "Date": "2010-11-03T18:00:00",
  "Location": "TBA",
  "Occasion": "Scorpio Run",
  "BeverageSupplier": "Kiam Seng",
  "RunStatus": "Run Claimed",
  "GuestHares": ""
}" to type 'HarrietsPhone.AppClasses.sRun2'.
  StackTrace:
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(Object value, Type targetType)
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue)
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader, Type objectType, JsonContract contract)
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType)
       at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
       at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
       at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
       at HarrietsPhone.MainPage.RequestCallback(IAsyncResult response)
       at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClassa.<InvokeGetResponseCallback>b__8(Object state2)
       at System.Threading.ThreadPool.WorkItem.doWork(Object o)
       at System.Threading.Timer.ring()
  InnerException:
       Message=Could not cast or convert from System.String to HarrietsPhone.AppClasses.sRun2.
       StackTrace:
            at Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable(Object value, Type initialType, Type targetType)
            at Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(Object initialValue, CultureInfo culture, Type targetType)
            at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(Object value, Type targetType)
            at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue)
            at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader, Type objectType, JsonContract contract)
            at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType)
            at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
            at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
            at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
            at HarrietsPhone.MainPage.RequestCallback(IAsyncResult response)
            at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClassa.<InvokeGetResponseCallback>b__8(Object state2)
            at System.Threading.ThreadPool.WorkItem.doWork(Object o)
            at System.Threading.Timer.ring()

Same class definition on server (ASP.NET application) and client (Windows Phone Silverlight).  Using Json.Net 3.5 r8 on both server and client.

Serializing object on server with JsonConvert and returning as ASP.NET JsonResult.  Attempting deserialization on client with:

JsonConvert.DeserializeObject(data, typeof(sRun2),  etc

Any ideas?  Many thanks.