c# 讀取json 的嵌套或多層嵌套數據的簡單姿勢

看了一些資料,感覺都很垃圾,或者廢話多,將自己搜尋的比較簡單的方法寫下。需要用NuGet安裝Newtonsoft.Json庫

json文件爲configWRC.json如下內容

{
  "JiDianQi_IP": "192.168.1.253",
  "QuanJingCameraIP": "192.168.1.123",
  "Name":"jueshi",
  "Damage":21,
  "Duration":15,
  "queryorder_info":
    {

     "order_num":"5",
    "orderdetail":"ok"
    }
}

讀取語句如下,需要一個讀取json文本的子函數

           using Newtonsoft.Json;
           using Newtonsoft.Json.Linq;

            string jsonfile = "configWRC.json";
            string jsonText = GetFileJson(jsonfile);
            JObject jsonObj = JObject.Parse(jsonText);
            string name = jsonObj["JiDianQi_IP"].ToString();
            string name2= ((JObject)jsonObj["queryorder_info"])["order_num"].ToString();


讀取json文本的子函數

      public string GetFileJson(string filepath)
        {
            string json = string.Empty;
            using (FileStream fs = new FileStream(filepath, FileMode.Open, System.IO.FileAccess.Read, FileShare.ReadWrite))
            {
                using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312")))
                {
                    json = sr.ReadToEnd().ToString();
                }
            }
            return json;
        }

 

是不是很簡單?此方法可用於多層嵌套,我自己試過5層,在後面加方括號[]即可,已驗證。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章