我有一个函数可以获取Json
中的所有Api link
值,并将所有值反序列化为对象列表。我需要将ID value
的{{1}}与all ID values listed here进行比较。但是,使用我使用的函数on the other Api link并不能像返回object list
结构一样工作,这个结果不存在。
Json
上面代码调用
的函数// parameters given are "http://www.gw2spidy.com/api/v0.9/json/item-search/iron/" + "1"
var spidyApi_idByName = api_Handler.objFromApi_idToName(spidyApiUrl, startPage);
如何检查spidyApi_idByName exist here中的ID值以及它们是否从对象列表中删除。
编辑,更一般的信息:
我有一个文本框,您可以在其中输入搜索内容。然后将其发送到Api链接以将文本转换为与搜索匹配的项目的ID。例如,搜索铁将返回all these values。但是我需要检查这些项目是否可以销售,有两种方法可以做。
I can access this link,这些都是可销售的ID的ID,并检查对象列表中的哪个项目ID在上述链接中是否不存在。
或者获取对象列表中的Item ID,并从不同的Api链接中检索更多信息。此链接包含一个名为Flags的属性,如果此属性具有值" NoSell"它应该从对象列表中删除。 Example link,此项目的属性为Flags,其值为NoSell
简短:将文字翻译成商品ID,检查此ID是否可销售。
答案 0 :(得分:1)
以下是从https://api.guildwars2.com/v2/commerce/listings链接获取ID列表的方法:
List<string> ids = new List<string>();
HttpWebRequest request =
(HttpWebRequest)WebRequest.Create("https://api.guildwars2.com/v2/commerce/listings");
try
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
using (var reader = new StreamReader(responseStream))
{
ids = reader.ReadToEnd().TrimStart('[').TrimEnd(']').Split(',').Select(str => str.Trim())
.ToList();
}
}
}
catch (Exception)
{
throw;
}
return ids;
这不是JSON,它是逗号分隔的字符串。所以你需要解析它才能获得id的列表。