using Newtonsoft.Json.Linq;
public static void Main()
""server"": ""1.1.1.1:80"",
""name"": ""1.1.1.1:80"",
""server"": ""127.0.0.1:8888"",
""name"": ""127.0.0.1:8888"",
""server"": ""1.1.1.2:80"",
""name"": ""1.1.1.2:80"",
""server"": ""127.0.0.1:8888"",
""name"": ""127.0.0.1:8888"",
var obj = JObject.Parse(json);
foreach (JProperty prop in obj.Properties())
var item = (JObject)prop.Value;
var zone = (string)item["zone"];
var keepalive = (int)item["keepalive"];
Console.WriteLine($"Zone: {zone} keepalive: {keepalive}");