无法推断方法 'HttpRequest.asJson()' 的类型参数

The type arguments for method 'HttpRequest.asJson()' cannot be inferred

我正在尝试 运行 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; }
    }
}

但这给了我以下错误:

Error CS0411 The type arguments for method 'HttpRequest.asJson()' cannot be inferred from the usage. Try specifying the type arguments explicitly.

有人知道我做错了什么吗?

.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