gpt4 book ai didi

windows-phone-7 - 在 Windows Phone 7 中使用 RestSharp

转载 作者:行者123 更新时间:2023-12-04 07:07:27 24 4
gpt4 key购买 nike

我正在尝试在 Windows Phone 7 项目中使用 RestSharp ( http://restsharp.org/ ),但我遇到了一个问题,它似乎与 RestSharp 使用的 Newtonsoft Json.NET 库有关。当我尝试像这样执行我的代码时:

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

我收到以下错误:

无法从程序集“Newtonsoft.Json.Compact,Version=3.5.0.0,Culture=neutral,PublicKeyToken=30AD4FE6B2A6AEED”加载类型“Newtonsoft.Json.Linq.JArray”。

Newtonsoft.Json.Compact.dll 被复制到我的 Windows Phone 7 应用程序的 Bin 文件夹,所以我假设它已部署到设备,但不知何故它不会加载它.有没有人经历过/解决过类似的事情?谢谢。


根据要求,JSON 示例:[{"type":"Song","id":60097,"title":"A Place Where You Belong","artist":{"type ":"Artist","id":17,"nameWithoutThePrefix":"Bullet For My Valentine","useThePrefix":false}}]

和类:

[DataContract]
public class Song
{
[DataMember(Name = "id")]
public int Id { get; set; }

[DataMember(Name = "title")]
public string Title { get; set; }

[DataMember(Name = "artist")]
public Artist Artist { get; set; }
}

[DataContract]
public class Artist
{
[DataMember(Name = "id")]
public int Id { get; set; }

[DataMember(Name = "nameWithoutThePrefix")]
public string Name { get; set; }

[DataMember(Name = "useThePrefix")]
public bool UsePrefix { get; set; }
}

最佳答案

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

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

client.ExecuteAsync<List<Song>>(request, callback);

关于windows-phone-7 - 在 Windows Phone 7 中使用 RestSharp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com