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

时间:2016-05-27 02:02:30

标签: c# unirest

我正在尝试运行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;   无法从使用中推断出来。尝试指定类型参数   明确。

有没有人对我可能做错了什么有任何想法?

1 个答案:

答案 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