Windows phone 7 在WindowsPhone7中使用RestSharp

Windows phone 7 在WindowsPhone7中使用RestSharp,windows-phone-7,restsharp,Windows Phone 7,Restsharp,我试图在WindowsPhone7项目中使用RestSharp(),但RestSharp使用的newtonsoftjson.NET库似乎有一个问题。当我尝试这样执行代码时: _restClient.ExecuteAsync<Model.Song>(restRequest, (response) => { if (response.StatusCode == HttpStatusCode.OK) { } else { } }); 您不需要任何[DataMembe

我试图在WindowsPhone7项目中使用RestSharp(),但RestSharp使用的newtonsoftjson.NET库似乎有一个问题。当我尝试这样执行代码时:

_restClient.ExecuteAsync<Model.Song>(restRequest, (response) =>
{
    if (response.StatusCode == HttpStatusCode.OK) { }
    else { }
});

您不需要任何
[DataMember]
属性,RestSharp不使用它们

由于返回的JSON是数组,因此需要将其反序列化为数组:

client.ExecuteAsync<List<Song>>(request, callback);
client.ExecuteAsync(请求、回调);

您不是第一个遇到此问题的人。你能发布你正在尝试使用的JSON和C类吗?添加到原始帖子中,希望这是可以解决的问题,因为
DataContractJsonSerializer
对我来说并不是很好。这似乎也不管用。我仍然在
列表中遇到同样的错误:
无法从程序集'Newtonsoft.Json.Linq.JArray',Newtonsoft.Json.Compact,Version=3.5.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed'加载类型'Newtonsoft.Json.Linq.JArray'。“
可能是因为RestSharp没有使用
[DataMember]
属性,它不会从JSON id转换为我自己的属性名?例如,
title->title
名称不带refix->Name
,从而导致错误?名称会自动翻译,您可以在非WP7项目中尝试并告诉我它是否有效吗?让我看看我是否理解正确:我的类是否需要精确命名为JSON属性,还是使用
[DataMember]
properties将JSON中的名称链接到我的类属性名称?我将在一个非WP7项目中尝试,并会让您知道它是否有效。RestSharp会自动进行名称匹配。例如,对于'namewiththeprefix'元素,您的属性需要命名为namewiththeprefix。我早些时候发送的链接显示了它匹配名称所经过的所有步骤。因此,我在Silverlight项目中尝试了它,并在
RestSharp.cs
GetHandler
方法中得到了一个错误(使用完全相同的代码):
NullReferenceException
at
var分号index=contentType.indexOf(“;”)
contentType
在这里似乎是
null
。我还使用相同的代码在Windows窗体应用程序中进行了尝试,这似乎用正确的数据填充了我的
response.Data
属性,因此我现在假设RestSharp的Silverlight/Windows Phone组件存在问题。
client.ExecuteAsync<List<Song>>(request, callback);