将mashape api响应转换为c#类

时间:2015-03-09 07:23:12

标签: c# .net mashape

我使用mashape api获取速度跟踪信息: -

https://www.mashape.com/blaazetech/indian-post

由于这是在.NET c#中,以下代码未得到遵守: -

Task<HttpResponse<MyClass>> response = Unirest.get("https://indianpost.p.mashape.com/index.php?itemno=EF990403084IN")
.header("X-Mashape-Key", mykey)
.header("Accept", "application/json")
.asJson();

complie错误是&#34;方法的类型参数&#39; unirest_net.request.HttpRequest.asJson()&#39;无法从使用中推断出来。尝试明确指定类型参数。&#34;

我不确定这个api是如何消耗的。问题是&#34; MyClass&#34;什么?

1 个答案:

答案 0 :(得分:2)

RSDC - 好的,事实证明,印度邮政的API端点无论如何都无法运行。在Mashape上测试它们并返回错误。

<强>&GT;&GT;&GT;我让它适用于metaCritic GET API&lt;&lt;&lt;

https://www.mashape.com/byroredux/metacritic(游戏列表API,第二个下来)

re:MyClass

1)在API文档页面的mashape.com网站上,找到右侧的200 / JSON响应。

2)复制json数据

3)转到http://json2csharp.com/并粘贴代码

4)单击Generate按钮获取c#类代码。复制班级代码。

5)返回VS,转到Models文件夹并创建名为MyClass.cs的类。

6)将代码粘贴到:

public class MyClass
{
    public class Result
    {
        public string name { get; set; }
        public string score { get; set; }
        public string url { get; set; }
        public string rlsdate { get; set; }
        public string rating { get; set; }
        public string summary { get; set; }
        public string platform { get; set; }
    }

    public class RootObject
    {
        public List<Result> results { get; set; }
    }
}

7)试试这个:

        HttpResponse<MyClass.RootObject> response = Unirest.get("https://byroredux-metacritic.p.mashape.com/game-list/ps4/coming-soon")
        .header("X-Mashape-Key", "KxdVFN6Vlymshd5ezOQwBvS2Svjtp1bq5YOjsnFOkgTOwqwM6y")
        .header("Accept", "application/json")
        .asJson<MyClass.RootObject>();

如果您运行调试器,则可以看到响应&gt;身体&gt;结果现在拥有25项数据。