将 mashape api 响应转换为 c# class

converting mashape api response to c# class

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

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();

编译错误是"The type arguments for method 'unirest_net.request.HttpRequest.asJson()' cannot be inferred from the usage. Try specifying the type arguments explicitly."

我不确定这个 api 怎么吃。 "MyClass" 有什么问题吗?

RSDC - 好吧,事实证明你的 API 端点为 Indian-Post 无论如何都不起作用。在 Mashape 上测试它们,它出现 returns 错误。

>>> 我让它在 metaCritic GET API <<<

上工作

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

回复:MyClass

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

2) 复制json数据

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

4) 单击“生成”按钮以获取 c# class 代码。复制 class 代码。

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

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>();

如果您 运行 调试器,您可以看到 response > Body > results 现在包含 25 项数据。