将Swagger转换为C#对象

时间:2017-07-11 19:49:34

标签: c# json

有没有一种简单的方法可以将Json字符串转换为C#对象?

我有一个json格式的swagger文件,需要将它转换为C#object

TTR

所以我现在面临的问题是我不知道如何将路径转换为我的C#对象的属性。具体来说,我不知道如何为“/ api / Profiles / Get”或“/ api / Profiles”定义C#对象属性。

{
  "swagger": "2.0",
  "info": {
    "version": "Profiles",
    "title": "Profiles"
  },
  "paths": {
    "/api/Profiles/Get": {
      "get": {
        "tags": [ "Profiles"],
        "operationId": "Profiles_GetById",
        "consumes": [],
        "produces": [],
        "parameters": [{ "name": "id"}]
      }
    },
    "/api/Profiles": {
      "get": {
        "tags": [
          "Profiles"
        ],
        "operationId": "Profiles_GetBySubscriptionid",
        "consumes": [],
        "produces": [],
        "parameters": [{ "name": "subscriptionId"}]
      }
    }
  },
  "definitions": {}
}

1 个答案:

答案 0 :(得分:4)

如果您有一个有效的swagger定义,则可以使用AutoRest为您生成客户端。自动生成的客户端包括您在招摇文档中定义的所有类型的模型。

然后,您可以在检索到响应后调用Newtonsoft.Json.JsonConvert.DeserializeObject<MyModel>(json​)。更好的是,您可以使用自动生成的客户端在.NET代码中进行HTTP调用。