C#定义使用错误键结构的json的类

时间:2017-09-07 20:57:23

标签: c# json

所以我从来没有定义过对象名称会有所不同的类。我有一个对象集合,json结果将对象的键(名称)定义为每个对象不同的字符串,但实际上应该只是一个属性。

直播Json进行检查:Bungie Api Docs

"/User/GetBungieNetUserById/{id}/"应该是名为endpoint的变量。但他们的数据使用它作为对象的关键。当我使用paste special时,Visual Studio定义了这样的类。

C#Class:

public class Paths
    {
        [JsonProperty(PropertyName = "/User/GetBungieNetUserById/{id}/")]
        public UserGetbungienetuserbyidId UserGetBungieNetUserByIdid { get; set; }
    ...

当我在找这样的东西时:

public class Paths
    {
        public Endpoint[] Endpoints { get; set; }
    }

    public class Endpoint
    {
        //Lots of properties
        public string route { get; set; }
    }

简化示例:

{
    "openapi": "3.0.0",
    "paths": {
        "/User/GetBungieNetUserById/{id}/": {
            "summary": "User.GetBungieNetUserById",
            "description": "Loads a bungienet user by membership id.",
            "get": {
                "tags": [
                    "User"
                ],
                "description": "Loads a bungienet user by membership id.",
                "operationId": "User.GetBungieNetUserById",
                "parameters": [{
                    "name": "id",
                    "in": "path",
                    "description": "The requested Bungie.net membership id.",
                    "required": true,
                    "schema": {
                        "type": "integer",
                        "format": "int64"
                    }
                }],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/User.GeneralUser"
                    }
                }
            }
        },
// Many additional properties named after endpoints, e.g.:
        "/User/GetUserAliases/{id}/": {
        }
    }
}

0 个答案:

没有答案