所以我从来没有定义过对象名称会有所不同的类。我有一个对象集合,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}/": {
}
}
}