/*********************************************************************** * C# parser JSON get Key and value * 說明: * 將配置放置在JSON文件中,經過Json.NET來解析JSON數據,因爲配置是隨時 * 可能被改變,並且key也不是固定的,因此須要動態獲取key、value來判斷要怎麼 * 進行處理,不過在解析的時候發現JToken不能直接獲取到Key、Value,經過JObject * 來進行獲取。 * * 2017-8-7 深圳 龍華樟坑村 曾劍鋒 **********************************************************************/ 1、參考文檔: 1、NuGet Package Manager UI https://docs.microsoft.com/zh-cn/nuget/tools/package-manager-ui 2、Introduction http://www.newtonsoft.com/json/help/html/Introduction.htm 3、Read JSON from a file http://www.newtonsoft.com/json/help/html/ReadJson.htm 4、Getting the name / key of a JToken with JSON.net https://stackoverflow.com/questions/21002297/getting-the-name-key-of-a-jtoken-with-json-net?answertab=votes 5、C# Newtonsoft.Json之LINQ To Json實例(一) http://blog.csdn.net/u011127019/article/details/52486867 6、使用JSON.net獲取JToken的名稱/鍵 https://gxnotes.com/article/90134.html 2、Demo Code: using Newtonsoft.Json.Linq; ... JObject systemConfig = JObject.Parse(File.ReadAllText("config/system_config.json")); foreach (JToken item in systemConfig["display"]["resolution"]) { Console.WriteLine(item.ToString()); // 從新合成JObject對象來提取Key、Value JObject obj = JObject.Parse("{" + item.ToString() + "}"); foreach(var pair in obj) { Console.WriteLine(pair.Key + "," + pair.Value); } }