我在反序列化时遇到此错误
"Could not cast or convert from System.String to MAP.Models.Test"
1)我在一边序列化
Test test = new Test();
string Json = await Task.Factory.StartNew(() => JsonConvert.SerializeObjectAsync(test)).Result;
和json变量看起来像这样:
"[{\"Id\":1,\"Device\":1,\"Script\.......
2)另一方面(silverlight 5应用程序)我正在使用WebResponse response = await request.GetResponseAsync())
获取请求并且响应json看起来像这样:
"\"{\\\"Id\\\":1,\\\"Device\\\":1,\\\"Script\\...
调用反序列化时出现错误
var des = JsonConvert.DeserializeObject(json, typeof(Test)) as Test;
我的课程:
class Test
{
[JsonProperty("Device")]
public int Device { get; set; }
}
任何想法可能是错的,为什么另一方面json看起来不同?
答案 0 :(得分:0)
尝试以这种方式转换为测试的测试目的:
var des = JsonConvert.DeserializeObject("{\"Id\":322,\"Script\":\"dsom\",\"Device\":21}", typeof(Test)) as Test;
如果有效,很可能你输错了json值