我正在尝试运行C#控制台程序:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Task<HttpResponse<MyClass>> response = Unirest.get("https://wordsapiv1.p.mashape.com/words/cat/rhymes")
.header("X-Mashape-Key", "xxx")
.header("Accept", "application/json")
.asJson();
}
}
internal class MyClass
{
public string word { get; set; }
}
}
但是这给了我以下错误:
错误CS0411方法的类型参数&#39; HttpRequest.asJson()&#39; 无法从使用中推断出来。尝试指定类型参数 明确。
有没有人对我可能做错了什么有任何想法?
答案 0 :(得分:2)
.asJson();
需要知道应该将json反序列化为什么类型。在这种情况下,您使用的是MyClass
。
将您的代码更改为以下内容:
HttpResponse<MyClass> response = Unirest.get("https://wordsapiv1.p.mashape.com/words/cat/rhymes")
.header("X-Mashape-Key", "xxx")
.header("Accept", "application/json")
.asJson<MyClass>();
此外,您未调用asJson
的异步版本,因此结果类型为HttpResponse<MyClass>
,而不是Task<HttpResponse<MyClass>>
。
请仔细阅读示例here