我正在使用这个框架 https://github.com/trydis/FIFA-Ultimate-Team-2014-Toolkit 它为我提出了一些请求,但是在服务器更新后一种方法不再有效
Task<Item> GetItemAsync(long resourceId);
这会尝试使用
internal class ItemRequest : FutRequestBase, IFutRequest<Item>
{
private readonly long _baseId;
public ItemRequest(long resourceId)
{
_baseId = resourceId.CalculateBaseId();
}
public async Task<Item> PerformRequestAsync()
{
AddUserAgent();
AddAcceptHeader("*/*");
AddReferrerHeader(Resources.BaseShowoff);
AddAcceptEncodingHeader();
AddAcceptLanguageHeader();
var itemResponseMessage = await HttpClient
.GetAsync(string.Format(Resources.Item, _baseId))
.ConfigureAwait(false);
var itemWrapper = await Deserialize<ItemWrapper>(itemResponseMessage);
return itemWrapper.Item;
}
}
这尝试反序列化
var itemWrapper = await Deserialize<ItemWrapper>(itemResponseMessage);
ItemWrapper.cs 是
public class ItemWrapper
{
public Item Item { get; set; }
}
项目.cs是 https://github.com/trydis/FIFA-Ultimate-Team-2014-Toolkit/blob/master/UltimateTeam.Toolkit/Models/Item.cs?source=cc
我添加到项目.cs
public string Desc {get;set;}
我得到的错误是
"在类型为"项目"的对象上找不到成员'Desc'。路径 'Item.Desc',第 1 行,位置 16。
当它尝试反序列化此内容时
"{\"物品":{\"Desc\":\"员工金稀有",\"评级":\"90",\"稀有":\"1",\"青铜":\"24","银":\"24","金":\"28","物品类型":"合同员工"}}"
我不明白为什么它不会将Desc映射到我的Item.Desc属性
从错误消息来看,听起来像是您将Desc添加到ItemWrapper而不是Item。但是您的 JSon 将其作为项目的一部分。将 Desc 移动到项 C# 类,它应该可以工作。