JSON動態解析()

有時,系統需要一個JSON格式配置文件。格式比較複雜,儘管有現成工具(如http://www.bejson.com/convert/json2csharp/),按

JSON格式定義好實體類還是比較麻煩的。

 try {
       string json = File.ReadAllText("robotv1.json");
        // 解析json文件
        dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(json);
        Console.WriteLine(jsonObj.Lidar.DefaultBaud);
         // 也可以修改    
         jsonObj.Lidar.DefaultBaud = 123;
          //重修序列化
         string output = Newtonsoft.Json.JsonConvert.SerializeObject(jsonObj, Newtonsoft.Json.Formatting.Indented);
                //保存  
           File.WriteAllText("config.json", output);
    }catch   {


   }

C# 4 引入了一個新類型 dynamic。該類型是一種靜態類型,但類型爲 dynamic 的對象會跳過靜態類型檢查。

我們可以直接創建一個dynamic類型的變量,可以將任意對象賦值給它。如下所示:

dynamic dynVar1 = 1;
dynamic dynVar2 = new Object();

當我們在代碼中使用了dynamic類型時,就是在告訴編譯器關閉對該對象的運行時檢查,而在運行時確定對象類型

發佈了22 篇原創文章 · 獲贊 4 · 訪問量 6017
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章