2
Json文字列をC#オブジェクトに変換する簡単な方法はありますか?SwaggerをC#オブジェクトに変換する
私はJSON形式で闊歩ファイルを持っているし、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": {}
}
にそれを作るために必要があるので、私が今直面しています問題は、私は私のプロパティへのパスを変換する方法が分からないということですC#オブジェクト。具体的には、 "/ api/Profiles/Get"、または "/ api/Profiles"のC#オブジェクトプロパティを定義する方法がわかりません。
public class SwaggerObject
{
[JsonProperty("paths")]
public SwaggerPath Paths { get; set;}
}
public class SwaggerPath {
...
}
有効なJson文字列がある場合は、Jsonコンバータを使用してC#オブジェクトを作成しました。例:Newtonsoft.Json.JsonConvert.DeserializeObject(Json); –
Mickers
Visual Studioには、jsonファイルに基づいてクラスを生成する組み込みツールがあります。 jsonをコピーし、 'View'のどこかに 'jsonをクラスとして貼り付け'ます。これを手動でやりたいのであれば、JsonPropertyを 'api ....'で試してみることができますが、それがうまくいくかどうかはわかりません。もう1つの方法は、Dictionary –
MistyK
に逆シリアル化することです。@Mickers Parserクラスでは、すでにJsonConvert.DeserializeObject(json)を使用していました。問題は、Jsonフォーマットは名前と値のペアです。そのため、 "/ api/Profiles/Get"や "/ api/Profiles"を含むようにSwaggerPathのプロパティをどのように定義すべきか分かりません。 –