CSharp · Console
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class SingleFarm
{
public List<string> Modules { get; set; }
public List<string> Servers { get; set; }
}
public class SingleEnv
{
public Dictionary<string, SingleFarm> Farms { get; set; }
}
public class FarmsModel
{
public Dictionary<string, SingleEnv> Envs { get; set; }
}
public class Program
{
private const string json = @"
{
""ENV1"": {
""WWW"": {
""Modules"": [
""module21""
],
""Servers"": [
""a-1""
]
}
},
""ENV2"": {
""FARM1"": {
""Modules"": [
""module41""
],
""Servers"": [
""s1"",
""s2""
]
},
""FARM2"": {
""Modules"": [
""module11""
],
""Servers"": [
""""
]
},
""FARM3"": {
""Modules"": [
""module1""
],
""Servers"": [
""""
]
}
},
""ENV3"": {
""FARM1"": {
""Modules"": [
""module10""
],
""Servers"": [
""server1""
]
},
""FARM2"": {
""Modules"": [
""module22""
],
""Servers"": [
""""
]
},
""FARM3"": {
""Modules"": [
""module33""
],
""Servers"": [
""server3""
]
}
}
}
";
public static void Main()
{
var parsed = JsonConvert.DeserializeObject<Dictionary<string, SingleEnv>>(json);
parsed.Dump();
}
}