Десериализовать JSON для конфигурации YARP
Следующий JSON — тело моего запроса:
{
"Routes": {
"route1": {
"ClusterId": "cluster1",
"Match": {
"Path": "{**catch-all}",
"Hosts": ["www.aaaaa.com", "www.bbbbb.com"]
}
}
},
"Clusters": {
"cluster1": {
"Destinations": {
"cluster1/destination1": {
"Address": "https://example.com/"
}
}
}
}
}
Я пытаюсь преобразовать его в объекты, но он не работает.
var reqItems1 = JsonConvert.DeserializeObject<Req>(jsonData);
ГдеReq
является:
public class Req
{
public RouteConfig Routes { get; set; }
public ClusterConfig Clusters { get; set; }
}
RouteConfig
иClusterConfig
определены:
https://microsoft.github.io/reverse-proxy/api/Yarp.ReverseProxy.Configuration.RouteConfig.html
https://microsoft.github.io/reverse-proxy/api/Yarp.ReverseProxy.Configuration.ClusterConfig.html
Все нулевое. Как я могу разобрать запрос непосредственно на объекты?
1 ответ
Из прикрепленного файла JSONRoutes
иClusters
свойства являются парами ключ-значение.
Отсюда вашReq
класс должен быть следующим:
public class Req
{
public Dictionary<string, RouteConfig> Routes { get; set; }
public Dictionary<string, ClusterConfig> Clusters { get; set; }
}